diff --git a/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoPersonas.razor b/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoPersonas.razor index 8807e62..3023dbe 100644 --- a/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoPersonas.razor +++ b/Antifraude.Net/RegistroPersonalAN/Components/Pages/InfoPersonas.razor @@ -96,7 +96,7 @@ public string? cl { get; set; } = ""; private bool mostrarGuardar = false; private bool canRenderTabs = false; - private static PERSONAS persona = new PERSONAS(); + private PERSONAS persona = new PERSONAS(); private string errorMessage = ""; private HttpClient cliente = new HttpClient(); private string lblNombre = ""; @@ -140,10 +140,21 @@ } - private EditContext editContext = new EditContext(persona); + private EditContext editContext = default!; private ValidationMessageStore? messageStore; + + private void EstablecerPersona(PERSONAS nuevaPersona) + { + persona = nuevaPersona; + editContext = new EditContext(persona); + messageStore = new ValidationMessageStore(editContext); + listaIdentificadores.Clear(); + } + protected override async Task OnInitializedAsync() { + EstablecerPersona(new PERSONAS()); + try { var url = NavigationManager.ToAbsoluteUri(NavigationManager.Uri); @@ -155,8 +166,11 @@ if (string.IsNullOrEmpty(cl)) { - persona = new PERSONAS(); + EstablecerPersona(new PERSONAS()); + lblNombre = ""; mostrarBtn = true; + mostrar = false; + return; } cliente = Utilidades.ObtenerCliente(UserState.Token, HttpClientFactory); @@ -173,10 +187,9 @@ } var resultContent = await response.Content.ReadAsStringAsync(); - persona = JsonConvert.DeserializeObject(resultContent) ?? throw new Exception("Error al deserializar los datos de la persona."); + var personaCargada = JsonConvert.DeserializeObject(resultContent) ?? throw new Exception("Error al deserializar los datos de la persona."); + EstablecerPersona(personaCargada); lblNombre = persona.NOMBRE + " " + persona.APELLIDOS; - editContext = new EditContext(persona); - messageStore = new ValidationMessageStore(editContext); mostrar = false; @@ -245,7 +258,9 @@ } var resultContent = await response.Content.ReadAsStringAsync(); - persona = JsonConvert.DeserializeObject(resultContent) ?? throw new Exception("Error al deserializar los datos de la persona."); + var personaActualizada = JsonConvert.DeserializeObject(resultContent) ?? throw new Exception("Error al deserializar los datos de la persona."); + EstablecerPersona(personaActualizada); + lblNombre = persona.NOMBRE + " " + persona.APELLIDOS; mensajes.Add(new ToastMessage { Type = ToastType.Primary,