phronCare/Documents/Templates/Quotes/Template_v1.cshtml
Leandro Hernan Rojas b6c63b874c
All checks were successful
CI/CD Pipeline / Build and Deploy with Docker Compose (push) Successful in 9m29s
Testing Razor PDF Generator
2025-05-15 19:24:12 -03:00

138 lines
3.7 KiB
Plaintext

@model Domain.Dtos.QuoteDto
@{
var culture = System.Globalization.CultureInfo.GetCultureInfo("es-AR");
}
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8" />
<title>Presupuesto N° @Model.Quotenumber</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 40px;
color: #333;
}
h1, h2 {
color: #004B8D;
}
table {
width: 100%;
border-collapse: collapse;
margin-top: 15px;
}
table, th, td {
border: 1px solid #ccc;
}
th {
background-color: #004B8D;
color: white;
padding: 6px;
}
td {
padding: 6px;
}
.section {
margin-bottom: 25px;
}
.header, .footer {
text-align: center;
}
.footer {
font-size: 10px;
margin-top: 50px;
color: #999;
}
</style>
</head>
<body>
<div class="header">
<h1>phronCare - Presupuesto</h1>
<h2>N° @Model.Quotenumber</h2>
<p>Fecha de Emisión: @Model.IssueDate.ToString("dd/MM/yyyy")</p>
</div>
<div class="section">
<h2>Datos del Cliente</h2>
<p><strong>Razón Social:</strong> @Model.CustomerName</p>
<p><strong>Paciente:</strong> @Model.PatientName</p>
<p><strong>Médico:</strong> @Model.ProfessionalName</p>
<p><strong>Institución:</strong> @Model.InstitutionName</p>
</div>
<div class="section">
<h2>Productos Cotizados</h2>
<table>
<thead>
<tr>
<th>Cantidad</th>
<th>Descripción</th>
<th>Precio Unitario (@Model.Currency)</th>
<th>Total (@Model.Currency)</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model.Items)
{
<tr>
<td>@item.Quantity</td>
<td>@item.Description</td>
<td>@item.UnitPrice.ToString("C", culture)</td>
<td>@item.Total.ToString("C", culture)</td>
</tr>
}
</tbody>
</table>
</div>
<div class="section">
<h2>Totales</h2>
<table>
<tbody>
<tr>
<td><strong>Subtotal</strong></td>
<td>@Model.Items.Sum(i => i.Subtotal).ToString("C", culture)</td>
</tr>
@if (Model.Taxes != null && Model.Taxes.Any())
{
foreach (var tax in Model.Taxes)
{
<tr>
<td><strong>@tax.TaxName (@tax.TaxRate%)</strong></td>
<td>@tax.TaxAmount.ToString("C", culture)</td>
</tr>
}
}
@if (Model.Adjustments != null && Model.Adjustments.Any())
{
foreach (var adj in Model.Adjustments)
{
<tr>
<td><strong>Ajuste: @adj.Reason</strong></td>
<td>@adj.Amount.ToString("C", culture)</td>
</tr>
}
}
<tr>
<td><strong>Total Final</strong></td>
<td>@Model.Total.ToString("C", culture)</td>
</tr>
</tbody>
</table>
</div>
<div class="footer">
<p>Sistema de gestión y administración PhronCare © 2025</p>
</div>
</body>
</html>