@page "/stock/unitform/" @page "/stock/unitform/{Id:int?}" @using phronCare.UIBlazor.Services.Stock @inject LSUnitOfMeasureService unitService @inject NavigationManager Navigation @inject IToastService toastService

@((model.Id == 0) ? "Nueva Unidad de Medida" : "Editar Unidad de Medida")

@code { [Parameter] public int? Id { get; set; } private ELSUnitOfMeasure model = new(); protected override async Task OnInitializedAsync() { if (Id.HasValue && Id > 0) { var result = await unitService.GetByIdAsync(Id.Value); if (result != null) model = result; else toastService.ShowError("No se pudo cargar la unidad de medida."); } } private async Task HandleValidSubmit() { try { if (model.Id == 0) { await unitService.CreateAsync(model); } else { await unitService.UpdateAsync(model); } toastService.ShowSuccess("Unidad guardada correctamente."); Navigation.NavigateTo("/stock/units"); } catch (Exception ex) { toastService.ShowError($"Error al guardar: {ex.Message}"); } } private void Cancel() => Navigation.NavigateTo("/stock/units"); }