Update Template Quote
All checks were successful
CI/CD Pipeline / Build and Deploy with Docker Compose (push) Successful in 4m38s

This commit is contained in:
Leandro Hernan Rojas 2025-05-16 12:28:14 -03:00
parent cad00fad7c
commit c27c569643

View File

@ -7,37 +7,14 @@
<html lang="es">
<head>
<meta charset="utf-8" />
<title>Presupuesto @Model.Quotenumber</title>
<title>Presupuesto @Model.Quotenumber</title>
<style>
body {
font-family: "DejaVu Sans", "Arial", "Helvetica", sans-serif;
font-size: 12px;
color: #333;
font-family: "Liberation Sans", "DejaVu Sans", sans-serif;
font-size: 13px;
color: #222;
margin: 40px;
}
h1, h2 {
color: #004B8D;
}
table {
width: 100%;
border-collapse: collapse;
margin-top: 15px;
}
th, td {
border: 1px solid #ccc;
padding: 6px;
}
th {
background-color: #004B8D;
color: white;
}
.section {
margin-bottom: 25px;
line-height: 1.5;
}
.header, .footer {
@ -46,124 +23,135 @@
.footer {
font-size: 10px;
margin-top: 50px;
color: #999;
margin-top: 40px;
color: #888;
}
h1 {
font-size: 22px;
margin-bottom: 0;
color: #004B8D;
}
h2 {
font-size: 16px;
margin-top: 30px;
color: #004B8D;
border-bottom: 1px solid #ccc;
padding-bottom: 4px;
}
table {
width: 100%;
border-collapse: collapse;
margin-top: 10px;
}
th, td {
border: 1px solid #ccc;
padding: 6px;
vertical-align: top;
}
th {
background-color: #f0f0f0;
text-align: left;
}
.totals-table td {
border: none;
}
.right {
text-align: right;
}
.highlight {
background-color: #e6f7ff;
}
.observaciones {
white-space: pre-wrap;
border: 1px solid #ccc;
padding: 10px;
background: #f9f9f9;
}
</style>
</head>
<body>
<p>@System.Text.Encoding.Default.EncodingName</p>
<div class="section" style="margin-bottom:40px; border: 2px dashed #555; padding: 15px;">
<h2 style="color: darkred;">TEST EXTENDIDO DE FUENTES Y ACENTOS</h2>
<p><strong>Texto de prueba:</strong> á é í ó ú ñ Ñ ¿ ¡ — Información técnica José Rodríguez</p>
<p style="font-family: 'DejaVu Sans'; font-size: 14px; margin-top:10px;">
<strong>DejaVu Sans:</strong><br />
á é í ó ú ñ Ñ ¿ ¡ Información técnica José Rodríguez
</p>
<p style="font-family: 'DejaVu Sans Mono'; font-size: 14px;">
<strong>DejaVu Sans Mono:</strong><br />
á é í ó ú ñ Ñ ¿ ¡ Información técnica José Rodríguez
</p>
<p style="font-family: 'Liberation Sans'; font-size: 14px;">
<strong>Liberation Sans:</strong><br />
á é í ó ú ñ Ñ ¿ ¡ Información técnica José Rodríguez
</p>
<p style="font-family: 'Liberation Serif'; font-size: 14px;">
<strong>Liberation Serif:</strong><br />
á é í ó ú ñ Ñ ¿ ¡ Información técnica José Rodríguez
</p>
<p style="font-family: 'Arial'; font-size: 14px;">
<strong>Arial (si disponible):</strong><br />
á é í ó ú ñ Ñ ¿ ¡ Información técnica José Rodríguez
</p>
<p style="font-family: 'Times New Roman'; font-size: 14px;">
<strong>Times New Roman (si disponible):</strong><br />
á é í ó ú ñ Ñ ¿ ¡ Información técnica José Rodríguez
</p>
<p style="font-family: 'sans-serif'; font-size: 14px;">
<strong>Sans-serif genérica (último fallback):</strong><br />
á é í ó ú ñ Ñ ¿ ¡ Información técnica José Rodríguez
</p>
</div>
<h2>N° @Model.Quotenumber</h2>
<p>Fecha de Emisión: @Model.IssueDate.ToString("dd/MM/yyyy")</p>
<div class="header">
<h1>phronCare - Presupuesto</h1>
<p><strong>Número:</strong> @Model.Quotenumber</p>
<p><strong>Fecha de Emisión:</strong> @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>
<h2>Datos del Cliente</h2>
<table>
<tr><th>Razón Social</th><td>@Model.CustomerName</td></tr>
<tr><th>Paciente</th><td>@Model.PatientName</td></tr>
<tr><th>Médico</th><td>@Model.ProfessionalName</td></tr>
<tr><th>Institución</th><td>@Model.InstitutionName</td></tr>
<tr><th>Fecha estimada cirugía</th><td>@(Model.EstimatedDate?.ToString("dd/MM/yyyy") ?? "-")</td></tr>
</table>
<div class="section">
<h2>Productos Cotizados</h2>
<table>
<thead>
<h2>Productos Cotizados</h2>
<table>
<thead>
<tr>
<th>Cantidad</th>
<th>Descripción</th>
<th class="right">Precio Unitario (@Model.Currency)</th>
<th class="right">Total (@Model.Currency)</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model.Items)
{
<tr>
<th>Cantidad</th>
<th>Descripción</th>
<th>Precio Unitario (@Model.Currency)</th>
<th>Total (@Model.Currency)</th>
<td>@item.Quantity</td>
<td>@item.Description</td>
<td class="right">@item.UnitPrice.ToString("C", culture)</td>
<td class="right">@item.Total.ToString("C", culture)</td>
</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>
}
</tbody>
</table>
<div class="section">
<h2>Totales</h2>
<table>
<tbody>
<h2>Totales</h2>
<table class="totals-table">
<tr>
<td class="right"><strong>Subtotal:</strong></td>
<td class="right">@Model.Items.Sum(i => i.Subtotal).ToString("C", culture)</td>
</tr>
@if (Model.Taxes?.Any() == true)
{
foreach (var tax in Model.Taxes)
{
<tr>
<td><strong>Subtotal</strong></td>
<td>@Model.Items.Sum(i => i.Subtotal).ToString("C", culture)</td>
<td class="right"><strong>@tax.TaxName (@tax.TaxRate%)</strong></td>
<td class="right">@tax.TaxAmount.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>
}
}
}
}
@if (Model.Adjustments?.Any() == true)
{
foreach (var adj in Model.Adjustments)
{
<tr>
<td><strong>Total Final</strong></td>
<td>@Model.Total.ToString("C", culture)</td>
<td class="right"><strong>Ajuste: @adj.Reason</strong></td>
<td class="right">@adj.Amount.ToString("C", culture)</td>
</tr>
</tbody>
</table>
}
}
<tr class="highlight">
<td class="right"><strong>Total Final:</strong></td>
<td class="right">@Model.Total.ToString("C", culture)</td>
</tr>
</table>
<h2>Observaciones</h2>
<div class="observaciones">
@Model.Observations
</div>
<div class="footer">