From 8458d9eae10db7e3de8d8bb0ebf661c1b3cc6628 Mon Sep 17 00:00:00 2001 From: Alejandro Date: Mon, 8 Jun 2026 12:58:06 +0200 Subject: [PATCH] . --- .../FicherosMaestros/ConceptoGeneral.razor | 17 +++- .../Pages/FicherosMaestros/Contrato.razor | 21 ++++- .../FicherosMaestros/CuentaCotizacion.razor | 19 +++- .../FicherosMaestros/TipoPuestoTrabajo.razor | 20 +++- .../Pages/FicherosMaestros/ValorNomina.razor | 20 +++- .../Components/Pages/InfoNominas.razor | 2 +- .../Components/Pages/InfoPers.razor | 10 +- .../InfoPersComponents/IncidenciaGrid.razor | 91 +++++++++++++------ .../Components/Pages/NominaPersona.razor | 28 +++--- .../Components/Pages/PeriodoSiltraPers.razor | 6 +- 10 files changed, 165 insertions(+), 69 deletions(-) diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/ConceptoGeneral.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/ConceptoGeneral.razor index fef3716..a447c57 100644 --- a/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/ConceptoGeneral.razor +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/ConceptoGeneral.razor @@ -190,8 +190,8 @@ @code { [Parameter] public string? cl { get; set; } = ""; - private static bdAntifraude.db.CONCEPTOSGENERALES Concepto = new CONCEPTOSGENERALES(); - private EditContext editContext = new EditContext(Concepto); + private bdAntifraude.db.CONCEPTOSGENERALES Concepto = new CONCEPTOSGENERALES(); + private EditContext editContext = default!; private HttpClient cliente = new HttpClient(); private ValidationMessageStore? messageStore; @@ -199,11 +199,18 @@ List mensajes = new List(); public bool mostrar { get; set; } = true; public bool mostrarBtn { get; set; } = false; - - + List listaIdentificadores = new List(); + private void EstablecerEditContext(CONCEPTOSGENERALES nuevo) + { + Concepto = nuevo; + editContext = new EditContext(Concepto); + messageStore = new ValidationMessageStore(editContext); + listaIdentificadores.Clear(); + } protected override async Task OnInitializedAsync() { + EstablecerEditContext(new CONCEPTOSGENERALES()); try { var url = NavigationManager.ToAbsoluteUri(NavigationManager.Uri); @@ -216,6 +223,7 @@ if (string.IsNullOrEmpty(cl)) { + EstablecerEditContext(new CONCEPTOSGENERALES()); Concepto = new CONCEPTOSGENERALES(); mostrarBtn = true; } @@ -232,6 +240,7 @@ } var resultContent = await response.Content.ReadAsStringAsync(); Concepto = JsonConvert.DeserializeObject(resultContent) ?? throw new Exception("Error al deserializar los datos de la persona."); + EstablecerEditContext(Concepto); } editContext = new EditContext(Concepto); messageStore = new ValidationMessageStore(editContext); diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/Contrato.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/Contrato.razor index e5001dc..35f051f 100644 --- a/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/Contrato.razor +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/Contrato.razor @@ -204,8 +204,8 @@ @code { [Parameter] public string? cl { get; set; } = ""; - private static bdAntifraude.db.CONTRATOS iContrato = new CONTRATOS(); - private EditContext editContext = new EditContext(iContrato); + private bdAntifraude.db.CONTRATOS iContrato = new CONTRATOS(); + private EditContext editContext = default!; private HttpClient cliente = new HttpClient(); private ValidationMessageStore? messageStore; @@ -213,11 +213,19 @@ List mensajes = new List(); public bool mostrar { get; set; } = true; public bool mostrarBtn { get; set; } = false; - + List listaIdentificadores = new List(); + private void EstablecerEditContext(CONTRATOS nuevo) + { + iContrato = nuevo; + editContext = new EditContext(iContrato); + messageStore = new ValidationMessageStore(editContext); + listaIdentificadores.Clear(); + } protected override async Task OnInitializedAsync() { + EstablecerEditContext(new CONTRATOS()); try { var url = NavigationManager.ToAbsoluteUri(NavigationManager.Uri); @@ -230,7 +238,9 @@ if (string.IsNullOrEmpty(cl)) { - iContrato = new CONTRATOS(); + // iContrato = new CONTRATOS(); + + EstablecerEditContext(new CONTRATOS()); mostrarBtn = true; } else @@ -244,7 +254,8 @@ throw new Exception($"Error al obtener los datos del Contrato. Código: {response.StatusCode}"); } var resultContent = await response.Content.ReadAsStringAsync(); - iContrato = JsonConvert.DeserializeObject(resultContent) ?? throw new Exception("Error al deserializar los datos de la persona."); + var iContrat = JsonConvert.DeserializeObject(resultContent) ?? throw new Exception("Error al deserializar los datos de la persona."); + EstablecerEditContext(iContrat); } editContext = new EditContext(iContrato); messageStore = new ValidationMessageStore(editContext); diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/CuentaCotizacion.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/CuentaCotizacion.razor index f505069..4a8a310 100644 --- a/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/CuentaCotizacion.razor +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/CuentaCotizacion.razor @@ -193,8 +193,8 @@ @code { [Parameter] public string? cl { get; set; } = ""; - private static bdAntifraude.db.CUENTASCOTIZACIONPATRONAL iCuentaContizacion = new CUENTASCOTIZACIONPATRONAL(); - private EditContext editContext = new EditContext(iCuentaContizacion); + private bdAntifraude.db.CUENTASCOTIZACIONPATRONAL iCuentaContizacion = new CUENTASCOTIZACIONPATRONAL(); + private EditContext editContext = default!; private HttpClient cliente = new HttpClient(); private ValidationMessageStore? messageStore; @@ -202,13 +202,20 @@ List mensajes = new List(); public bool mostrar { get; set; } = true; public bool mostrarBtn { get; set; } = false; - + List listaIdentificadores = new List(); private List lTipoIPF = new List(); - + private void EstablecerEditContext(CUENTASCOTIZACIONPATRONAL nuevo) + { + iCuentaContizacion = nuevo; + editContext = new EditContext(iCuentaContizacion); + messageStore = new ValidationMessageStore(editContext); + listaIdentificadores.Clear(); + } protected override async Task OnInitializedAsync() { + EstablecerEditContext(new CUENTASCOTIZACIONPATRONAL()); try { var url = NavigationManager.ToAbsoluteUri(NavigationManager.Uri); @@ -222,6 +229,7 @@ if (string.IsNullOrEmpty(cl)) { iCuentaContizacion = new CUENTASCOTIZACIONPATRONAL(); + EstablecerEditContext(new CUENTASCOTIZACIONPATRONAL()); mostrarBtn = true; } else @@ -235,7 +243,8 @@ throw new Exception($"Error al obtener los datos. Código: {response.StatusCode}"); } var resultContent = await response.Content.ReadAsStringAsync(); - iCuentaContizacion = JsonConvert.DeserializeObject(resultContent) ?? throw new Exception("Error al deserializar los datos de la persona."); + var iCuentContizacion = JsonConvert.DeserializeObject(resultContent) ?? throw new Exception("Error al deserializar los datos de la persona."); + EstablecerEditContext(iCuentContizacion); } editContext = new EditContext(iCuentaContizacion); messageStore = new ValidationMessageStore(editContext); diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/TipoPuestoTrabajo.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/TipoPuestoTrabajo.razor index aedabfe..80d0573 100644 --- a/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/TipoPuestoTrabajo.razor +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/TipoPuestoTrabajo.razor @@ -111,10 +111,10 @@ @code { [Parameter] public string? cl { get; set; } = ""; - private static bdAntifraude.db.TIPOSPUESTOSTRABAJO puestoTrabajo = new TIPOSPUESTOSTRABAJO(); + private bdAntifraude.db.TIPOSPUESTOSTRABAJO puestoTrabajo = new TIPOSPUESTOSTRABAJO(); private List lGrupos = new List(); private List lTipoPersonal = new List(); - private EditContext editContext = new EditContext(puestoTrabajo); + private EditContext editContext = default!; private Tabs tabsPuesTrab { get; set; } = new Tabs(); private HttpClient cliente = new HttpClient(); @@ -123,11 +123,19 @@ List mensajes = new List(); public bool mostrar { get; set; } = true; public bool mostrarBtn { get; set; } = false; + List listaIdentificadores = new List(); - + private void EstablecerEditContext(TIPOSPUESTOSTRABAJO nuevo) + { + puestoTrabajo = nuevo; + editContext = new EditContext(puestoTrabajo); + messageStore = new ValidationMessageStore(editContext); + listaIdentificadores.Clear(); + } protected override async Task OnInitializedAsync() { + EstablecerEditContext(new TIPOSPUESTOSTRABAJO()); try { var url = NavigationManager.ToAbsoluteUri(NavigationManager.Uri); @@ -139,8 +147,9 @@ } if (string.IsNullOrEmpty(cl)) - { + { puestoTrabajo = new TIPOSPUESTOSTRABAJO(); + EstablecerEditContext(new TIPOSPUESTOSTRABAJO()); mostrarBtn = true; } else @@ -156,7 +165,8 @@ } var resultContent = await response.Content.ReadAsStringAsync(); - puestoTrabajo = JsonConvert.DeserializeObject(resultContent) ?? throw new Exception("Error al deserializar los datos de la persona."); + var puestTrabajo = JsonConvert.DeserializeObject(resultContent) ?? throw new Exception("Error al deserializar los datos de la persona."); + EstablecerEditContext(puestTrabajo); } editContext = new EditContext(puestoTrabajo); messageStore = new ValidationMessageStore(editContext); diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/ValorNomina.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/ValorNomina.razor index ba47984..fb77209 100644 --- a/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/ValorNomina.razor +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/ValorNomina.razor @@ -262,8 +262,8 @@ @code { [Parameter] public string? cl { get; set; } = ""; - private static bdAntifraude.db.VALORESNOMINA oValorNomina = new VALORESNOMINA(); - private EditContext editContext = new EditContext(oValorNomina); + private bdAntifraude.db.VALORESNOMINA oValorNomina = new VALORESNOMINA(); + private EditContext editContext = default!; private HttpClient cliente = new HttpClient(); private ValidationMessageStore? messageStore; @@ -272,10 +272,18 @@ public bool mostrar { get; set; } = true; public bool mostrarBtn { get; set; } = false; - + List listaIdentificadores = new List(); + private void EstablecerEditContext(VALORESNOMINA nuevo) + { + oValorNomina = nuevo; + editContext = new EditContext(oValorNomina); + messageStore = new ValidationMessageStore(editContext); + listaIdentificadores.Clear(); + } protected override async Task OnInitializedAsync() { + EstablecerEditContext(new VALORESNOMINA()); try { var url = NavigationManager.ToAbsoluteUri(NavigationManager.Uri); @@ -288,7 +296,8 @@ if (string.IsNullOrEmpty(cl)) { - oValorNomina = new VALORESNOMINA(); + // oValorNomina = new VALORESNOMINA(); + EstablecerEditContext(new VALORESNOMINA()); mostrarBtn = true; } else @@ -303,7 +312,8 @@ throw new Exception($"Error al obtener los datos del Tipo de Trabajo. Código: {response.StatusCode}"); } var resultContent = await response.Content.ReadAsStringAsync(); - oValorNomina = JsonConvert.DeserializeObject(resultContent) ?? throw new Exception("Error al deserializar los datos."); + var ValorNomina = JsonConvert.DeserializeObject(resultContent) ?? throw new Exception("Error al deserializar los datos."); + EstablecerEditContext(ValorNomina); } editContext = new EditContext(oValorNomina); messageStore = new ValidationMessageStore(editContext); diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoNominas.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoNominas.razor index c452f79..ffb3e1a 100644 --- a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoNominas.razor +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoNominas.razor @@ -233,7 +233,7 @@ public string idNom { get; set; } = ""; private Tabs tabsDtsNom { get; set; } = new Tabs(); List messages = new List(); - private static NOMINAS Nomina { get; set; } = new NOMINAS(); + private NOMINAS Nomina { get; set; } = new NOMINAS(); private List listadoTipo = new List(); private List listadoSituacion = new List(); private string tituloPopup = ""; diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPers.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPers.razor index d047244..8d02b4c 100644 --- a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPers.razor +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPers.razor @@ -833,7 +833,7 @@ } cliente = Utilidades.ObtenerCliente(UserState.Token, HttpClientFactory); - // ListaSexos = await Utilidades.ObtenerObjeto>(cliente, "/api/ENUMERACIONES/EnumeracionesGrupo/SEXO"); + ListaSexos = await Utilidades.ObtenerObjeto>(cliente, "/api/ENUMERACIONES/EnumeracionesGrupo/SEXO"); string nifDesencriptado = tsUtilidades.crypt.FEncS(cl, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", @@ -907,7 +907,6 @@ Console.WriteLine($"Error al cargar la foto: {ex.Message}"); } } - private string GetCssClass(string fieldName) { if (messageStore == null) @@ -978,3 +977,10 @@ } + diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/IncidenciaGrid.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/IncidenciaGrid.razor index 581759d..4695edd 100644 --- a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/IncidenciaGrid.razor +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/IncidenciaGrid.razor @@ -66,10 +66,17 @@ - @context.IDNOMINANavigation.DESCRIPCION - + + @if (context.IDNOMINANavigation != null){ + @context.IDNOMINANavigation.DESCRIPCION + } + + + @if (context.IDCONCEPTONOMINANavigation != null){ @context.IDCONCEPTONOMINANavigation.DESCRIPCION + } + @if (context.SUSTITUYECONCEPTO) @@ -120,7 +127,9 @@ } + @if (context.IDNOMINANavigation != null){ @context.IDNOMINANavigation.DESCRIPCION + } @context.APLICACIONPRESUPUESTARIA @@ -148,32 +157,42 @@
- -
- + +
+
+
+
+
+ + + +
+
- - - + +
+
+ +
- + @@ -194,16 +213,24 @@ private List nombMeses = ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"]; private INCIDENCIAS ItemEnEdicion { get; set; } = new INCIDENCIAS(); protected override async Task OnInitializedAsync() + { + CargarListas(); + } + private async Task abrirPopupModificacion(INCIDENCIAS objeto, bool esNuevo) + { + ItemEnEdicion = objeto; + await popupGestionDatos.ShowAsync(); + } + private async Task cerrarPopupModificacion() + { + await popupGestionDatos.HideAsync(); + } + private async Task CargarListas() { try { - - // cliente = Utilidades.ObtenerCliente(UserState.Token, HttpClientFactory); - // Expression> filtro = x => x.IDPERSONA == Persona.IDPERSONA; - // itmList = await Utilidades.ObtenerObjeto>(cliente, "/api/INCIDENCIAS/filtrar", filtro); - - var listnom = Persona.INCIDENCIAS.Where(x => x.ESDELIQUIDACION == false).ToList(); + var nominaIncidenciadelcarajo = listnom.FirstOrDefault(x => x.IDINCIDENCIA == 56543); foreach (INCIDENCIAS i in listnom) { itmList.Add(i); @@ -222,6 +249,8 @@ } } annos = annos.OrderDescending().ToList(); + Task.Delay(1); + StateHasChanged(); } catch (Exception e) @@ -229,21 +258,11 @@ Console.WriteLine($"Error al obtener los datos: {e.Message}"); } } - private async Task abrirPopupModificacion(INCIDENCIAS objeto, bool esNuevo) - { - ItemEnEdicion = objeto; - await popupGestionDatos.ShowAsync(); - } - private async Task cerrarPopupModificacion() - { - await popupGestionDatos.HideAsync(); - } - // GUARDAR - private async Task GestionarDatos(INCIDENCIAS inci) + private async Task GestionarDatos() { - + var inci = ItemEnEdicion; string chbSusConcepto = "chbSusConcepto"; inci.SUSTITUYECONCEPTO = await JS.InvokeAsync("obtenerCheck", chbSusConcepto); string chbCotizaSS = "chbCotizaSS"; @@ -256,11 +275,25 @@ inci.NOMINANORMAL = await JS.InvokeAsync("obtenerCheck", chbNominaNormal); string chbNominaSS = "chbNominaSS"; inci.NOMINASEGURIDADSOCIAL = await JS.InvokeAsync("obtenerCheck", chbNominaSS); - + var cliente = Utilidades.ObtenerCliente(UserState.Token, HttpClientFactory); var response = await Utilidades.ActualizarObjeto(cliente, "/api/INCIDENCIAS/" + inci.IDINCIDENCIA, inci); await cerrarPopupModificacion(); - await InvokeAsync(StateHasChanged); + var response1 = await cliente.GetAsync($"/api/PERSONAS/PersonaNominaNif/{Persona.NIF}"); + if (!response1.IsSuccessStatusCode) + { + throw new Exception($"Error al obtener los datos de la persona. Código: {response1.StatusCode}"); + } + + var resultContent = await response1.Content.ReadAsStringAsync(); + Persona = JsonConvert.DeserializeObject(resultContent) ?? throw new Exception("Error al deserializar los datos de la persona."); + await CargarListas(); + // itmList.First(x => x.IDINCIDENCIA == inci.IDINCIDENCIA).IDNOMINANavigation = inci.IDNOMINANavigation; + // itmList.First(x => x.IDINCIDENCIA == inci.IDINCIDENCIA).IDCONCEPTONOMINANavigation= inci.IDCONCEPTONOMINANavigation; + + + + // await InvokeAsync(StateHasChanged); } } diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/NominaPersona.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/NominaPersona.razor index f3c6f0e..e6a56db 100644 --- a/Antifraude.Net/GestionPersonalWeb/Components/Pages/NominaPersona.razor +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/NominaPersona.razor @@ -607,7 +607,7 @@ @code { [Parameter] public PERSONAS Persona { get; set; } = new PERSONAS(); - public static NOMINATRABAJADORCABECERA Nomina { get; set; } = new NOMINATRABAJADORCABECERA(); + public NOMINATRABAJADORCABECERA Nomina { get; set; } = new NOMINATRABAJADORCABECERA(); private HttpClient cliente = new HttpClient(); [Parameter] public EventCallback OnPersonaActualizada { get; set; } @@ -629,7 +629,19 @@ private Tabs tabsDtsNom { get; set; } = new Tabs(); private Modal popupConfirmacion = default!; List mensajes = new List(); - private EditContext editContext = new EditContext(Nomina); + private EditContext editContext = default!; + List listaIdentificadores = new List(); + private void EstablecerEditContext(NOMINATRABAJADORCABECERA nuevo) + { + Nomina = nuevo; + editContext = new EditContext(Nomina); + messageStore = new ValidationMessageStore(editContext); + listaIdentificadores.Clear(); + } + + + + private async Task abrirGuardar() { await popupConfirmacion.ShowAsync(); @@ -647,6 +659,7 @@ } protected override async Task OnInitializedAsync() { + EstablecerEditContext(new NOMINATRABAJADORCABECERA()); try { var url = NavigationManager.ToAbsoluteUri(NavigationManager.Uri); @@ -665,14 +678,6 @@ var clCn = clDesencriptado.Split("-"); nifDesencriptado = clCn[0]; NominaDesencriptada = Int32.Parse(clCn[1]); - // int NominaDesencriptada = Int32.Parse(tsUtilidades.crypt.FEncS(cn, - // "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", - // "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", - // -875421649)); - - - - var response = await cliente.GetAsync($"/api/PERSONAS/PersonaNominaNif/{nifDesencriptado}"); if (!response.IsSuccessStatusCode) { @@ -681,7 +686,8 @@ var resultContent = await response.Content.ReadAsStringAsync(); Persona = JsonConvert.DeserializeObject(resultContent) ?? throw new Exception("Error al deserializar los datos de la persona."); - Nomina = Persona.NOMINATRABAJADORCABECERA?.FirstOrDefault(x => x.IDNOMINA == NominaDesencriptada); + var Nomi = Persona.NOMINATRABAJADORCABECERA?.FirstOrDefault(x => x.IDNOMINA == NominaDesencriptada); + EstablecerEditContext(Nomi); lConceptos = new List(); foreach (var lin in Nomina.NOMINATRABAJADORLINEA){lConceptos.Add(lin);} lPagoEspecie = new List(); diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/PeriodoSiltraPers.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/PeriodoSiltraPers.razor index fbfc769..56afff0 100644 --- a/Antifraude.Net/GestionPersonalWeb/Components/Pages/PeriodoSiltraPers.razor +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/PeriodoSiltraPers.razor @@ -189,7 +189,7 @@ @code { - private static PERIODOSSILTRA PeriodoSiltra = new PERIODOSSILTRA(); + private PERIODOSSILTRA PeriodoSiltra = new PERIODOSSILTRA(); public EventCallback OnValidationStateChanged { get; set; } private List annos = new List(); private string cl { get; set; } @@ -201,12 +201,14 @@ // private List lTipPeriodo = new List(); private List lTipPeriodo = new List(); private List lTraSil = new List(); - private EditContext editContext = new EditContext(PeriodoSiltra); + private EditContext editContext = default!; private HttpClient cliente = new HttpClient(); private ValidationMessageStore? messageStore; private string errorMessage = ""; private Modal popupConfirmacion = default!; List mensajes = new List(); + + protected override async Task OnInitializedAsync() { var token = UserState.Token;