All checks were successful
CI/CD Pipeline / Build and Deploy with Docker Compose (push) Successful in 4m38s
162 lines
4.3 KiB
Plaintext
162 lines
4.3 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 @Model.Quotenumber</title>
|
|
<style>
|
|
body {
|
|
font-family: "Liberation Sans", "DejaVu Sans", sans-serif;
|
|
font-size: 13px;
|
|
color: #222;
|
|
margin: 40px;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
.header, .footer {
|
|
text-align: center;
|
|
}
|
|
|
|
.footer {
|
|
font-size: 10px;
|
|
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>
|
|
<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>
|
|
|
|
<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>
|
|
|
|
<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>
|
|
<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>
|
|
}
|
|
</tbody>
|
|
</table>
|
|
|
|
<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 class="right"><strong>@tax.TaxName (@tax.TaxRate%)</strong></td>
|
|
<td class="right">@tax.TaxAmount.ToString("C", culture)</td>
|
|
</tr>
|
|
}
|
|
}
|
|
@if (Model.Adjustments?.Any() == true)
|
|
{
|
|
foreach (var adj in Model.Adjustments)
|
|
{
|
|
<tr>
|
|
<td class="right"><strong>Ajuste: @adj.Reason</strong></td>
|
|
<td class="right">@adj.Amount.ToString("C", culture)</td>
|
|
</tr>
|
|
}
|
|
}
|
|
<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">
|
|
<p>Sistema de gestión y administración PhronCare © 2025</p>
|
|
</div>
|
|
</body>
|
|
</html>
|