All checks were successful
CI/CD Pipeline / Build and Deploy with Docker Compose (push) Successful in 3m21s
172 lines
5.4 KiB
Plaintext
172 lines
5.4 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: "DejaVu Sans", "Arial", "Helvetica", sans-serif;
|
||
font-size: 12px;
|
||
color: #333;
|
||
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;
|
||
}
|
||
|
||
.header, .footer {
|
||
text-align: center;
|
||
}
|
||
|
||
.footer {
|
||
font-size: 10px;
|
||
margin-top: 50px;
|
||
color: #999;
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<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>
|
||
|
||
<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>
|