@inject ISalesService SalesSvc @inject AuthenticationStateProvider AuthState Abriendo: @Caja.Nombre @if (!string.IsNullOrEmpty(error)) { @error } Cancelar @(guardando ? "Abriendo..." : "Abrir caja") @code { [CascadingParameter] private MudDialogInstance MudDialog { get; set; } = default!; [Parameter] public AperturaCajaDto Apertura { 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.AbrirCajaAsync(Apertura, auth.User.Identity?.Name); MudDialog.Close(DialogResult.Ok(true)); } catch (Exception ex) { error = ex.Message; } finally { guardando = false; } } private void Cancelar() => MudDialog.Cancel(); }