@using System @using System.Globalization @using System.Text.Json @using Domain.Dtos.Sales @model DeliveryNoteDto @{ Layout = null; var ci = CultureInfo.GetCultureInfo("es-AR"); CultureInfo.CurrentCulture = ci; CultureInfo.CurrentUICulture = ci; SurgerySnapshot snap; if (string.IsNullOrWhiteSpace(Model.ExtraInfoJson)) { snap = new SurgerySnapshot(); } else { try { snap = JsonSerializer.Deserialize(Model.ExtraInfoJson) ?? new SurgerySnapshot(); } catch { snap = new SurgerySnapshot(); } } var reprintText = Model.PrintCount > 0 ? (" — Reimpresión " + Model.PrintCount) : string.Empty; } @functions { public class SurgerySnapshot { public string? Professional { get; set; } public string? Institution { get; set; } public string? Patient { get; set; } public DateTime? SurgeryDate { get; set; } } public static string FQty(decimal q) => q.ToString("G29", CultureInfo.InvariantCulture); public static string FDate(DateTime? d) => d.HasValue ? d.Value.ToString("dd/MM/yyyy") : string.Empty; public static string FText(string? value) => string.IsNullOrWhiteSpace(value) ? "-" : value.Trim(); public static string FOrigin(byte originType) => originType switch { 1 => "Presupuesto", 2 => "Manual", _ => originType.ToString() }; } Remito @Model.DeliveryNoteNumber
@if (!string.IsNullOrWhiteSpace(Model.LogoBase64)) { Logo }
Documento generado por PhronCare

Remito

@Model.DeliveryNoteNumber@reprintText
Fecha: @Model.IssueDate.ToString("dd/MM/yyyy")
Cliente @FText(Model.CustomerName) Estado @FText(Model.Status)
Presupuesto @FText(Model.QuoteNumber) ID interno @Model.Id
Contexto clínico
Profesional @FText(snap.Professional) Institución @FText(snap.Institution)
Paciente @FText(snap.Patient) Fecha cirugía @FDate(snap.SurgeryDate)
Detalle de ítems
@foreach (var item in Model.Items.OrderBy(i => i.LineNumber)) { }
# Descripción Cantidad Origen Ref. Notas
@item.LineNumber @FText(item.Description) @FQty(item.Quantity) @FOrigin(item.OriginType) @(item.OriginId?.ToString() ?? "-") @FText(item.Notes)
Observaciones
@FText(Model.Observations)