@inject ISalesService SalesSvc @inject AuthenticationStateProvider AuthState Cerrando: @Caja.Nombre
Monto apertura: S/. @Caja.MontoApertura.ToString("N2")
Ingresos en efectivo: S/. @Caja.IngresosEfectivo.ToString("N2")
Efectivo esperado: S/. @Caja.MontoEsperado.ToString("N2")
@if (Cierre.MontoCierreFisico != Caja.MontoEsperado) { var diff = Cierre.MontoCierreFisico - Caja.MontoEsperado; Diferencia: S/. @diff.ToString("N2") @if (diff < 0) { (faltante) } else { (sobrante) } } @if (!string.IsNullOrEmpty(error)) { @error }
Cancelar @(guardando ? "Cerrando..." : "Cerrar caja")
@code { [CascadingParameter] private MudDialogInstance MudDialog { get; set; } = default!; [Parameter] public CierreCajaDto Cierre { get; set; } = new(); [Parameter] public CajaEstadoDto Caja { get; set; } = default!; private bool guardando; private string? error; private async Task Guardar() { guardando = true; error = null; try { var auth = await AuthState.GetAuthenticationStateAsync(); await SalesSvc.CerrarCajaAsync(Cierre, auth.User.Identity?.Name); MudDialog.Close(DialogResult.Ok(true)); } catch (Exception ex) { error = ex.Message; } finally { guardando = false; } } private void Cancelar() => MudDialog.Cancel(); }