diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPers.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPers.razor
index 4ec0d80..42fee09 100644
--- a/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPers.razor
+++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPers.razor
@@ -404,7 +404,9 @@
}
else//Actualizar
{
- var responsea = await Utilidades.ActualizarObjeto(cliente, "/api/PERSONAS/" + persona.IDPERSONA, persona);
+ var personaGuardar = persona;
+ personaGuardar.NOMINATRABAJADORCABECERA = null;
+ var responsea = await Utilidades.ActualizarObjeto(cliente, "/api/PERSONAS/" + personaGuardar.IDPERSONA, personaGuardar);
var url = NavigationManager.ToAbsoluteUri(NavigationManager.Uri);
if (QueryHelpers.ParseQuery(url.Query).TryGetValue("cl", out var clValue)) { cl = clValue; }
cliente = Utilidades.ObtenerCliente(UserState.Token, HttpClientFactory);
diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/NominaPersona.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/NominaPersona.razor
index 8f6b1db..88dc566 100644
--- a/Antifraude.Net/GestionPersonalWeb/Components/Pages/NominaPersona.razor
+++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/NominaPersona.razor
@@ -22,19 +22,19 @@
+
+
+
+
+ Se van a dar de alta o modificar datos de la persona seleccionada ¿desea continuar?
+
+
+
+
+
+
+
+
+
@@ -125,11 +139,11 @@
@if (Nomina.IDSINDICATO1Navigation != null)
{
-
+
}
else
{
-
+
}
@@ -149,7 +163,7 @@
@if (Nomina.IDSINDICATO2Navigation != null)
{
-
+
}
else
{
@@ -591,7 +605,7 @@
@code {
[Parameter]
public PERSONAS Persona { get; set; } = new PERSONAS();
- public NOMINATRABAJADORCABECERA Nomina { get; set; } = new NOMINATRABAJADORCABECERA();
+ public static NOMINATRABAJADORCABECERA Nomina { get; set; } = new NOMINATRABAJADORCABECERA();
private HttpClient cliente = new HttpClient();
[Parameter]
public EventCallback OnPersonaActualizada { get; set; }
@@ -605,10 +619,23 @@
private List
lSiltra= new List();
private ValidationMessageStore? messageStore;
private string errorMessage = "";
+ public string nifDesencriptado { get; set; }
+ public int NominaDesencriptada { get; set; }
public string? cl { get; set; } = "";
public string? cn { get; set; } = "";
private Tabs tabsDtsPer { get; set; } = new Tabs();
private Tabs tabsDtsNom { get; set; } = new Tabs();
+ private Modal popupConfirmacion = default!;
+ List mensajes = new List();
+ private EditContext editContext = new EditContext(Nomina);
+ private async Task abrirGuardar()
+ {
+ await popupConfirmacion.ShowAsync();
+ }
+ private async Task CerrarConfirmacion()
+ {
+ await popupConfirmacion.HideAsync();
+ }
private async Task OnTabShownAsync(TabsEventArgs args)
{
var panelActivo = args.ActiveTabName;
@@ -625,22 +652,17 @@
if (QueryHelpers.ParseQuery(url.Query).TryGetValue("cl", out var clValue))
{
cl = clValue;
- }
- // if (QueryHelpers.ParseQuery(url.Query).TryGetValue("cn", out var cnValue))
- // {
- // cn = cnValue;
- // }
-
+ }
cliente = Utilidades.ObtenerCliente(UserState.Token, HttpClientFactory);
- // ListaSexos = await Utilidades.ObtenerObjeto>(cliente, "/api/ENUMERACIONES/EnumeracionesGrupo/SEXO");
+
string clDesencriptado = tsUtilidades.crypt.FEncS(cl,
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*",
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*",
-875421649);
var clCn = clDesencriptado.Split("-");
- var nifDesencriptado = clCn[0];
- var NominaDesencriptada = Int32.Parse(clCn[1]);
+ nifDesencriptado = clCn[0];
+ NominaDesencriptada = Int32.Parse(clCn[1]);
// int NominaDesencriptada = Int32.Parse(tsUtilidades.crypt.FEncS(cn,
// "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*",
// "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*",
@@ -678,8 +700,6 @@
Console.WriteLine($"Error durante la inicialización: {ex.Message}");
}
}
-
-
private string HashRed(string id)
{
string link = "/PeriodoSiltra?cl=" + tsUtilidades.crypt.FEncS(
@@ -689,8 +709,6 @@
875421649);
return link;
}
-
-
private async Task CargarSelects()
{
try
@@ -712,6 +730,66 @@
}
}
+ private async Task GuardarNomina()
+ {
+ CerrarConfirmacion();
+ cliente = Utilidades.ObtenerCliente(UserState.Token, HttpClientFactory);
+ // ValidarTodos();
+ if (!editContext.GetValidationMessages().Any())
+
+ {
+ if (Nomina.IDNOMINATRABAJADOR== 0)//Nuevo
+ {
+
+ var response = await Utilidades.NuevoObjeto(cliente, "/api/NOMINATRABAJADORCABECERA", Nomina);
+ string link = "/NomPers?cl=" + tsUtilidades.crypt.FEncS(response.IDNOMINATRABAJADOR.ToString(), "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", 875421649);
+ NavigationManager.NavigateTo(link, forceLoad: true);
+
+ }
+ else//Actualizar
+ {
+ // Nomina.IMPORTESEGURO = null;
+ var responsea = await Utilidades.ActualizarObjeto(cliente, "/api/NOMINATRABAJADORCABECERA/" + Nomina.IDNOMINATRABAJADOR, Nomina);
+ var url = NavigationManager.ToAbsoluteUri(NavigationManager.Uri);
+ if (QueryHelpers.ParseQuery(url.Query).TryGetValue("cl", out var clValue)) { cl = clValue; }
+ cliente = Utilidades.ObtenerCliente(UserState.Token, HttpClientFactory);
+ var responsePers = await cliente.GetAsync($"/api/PERSONAS/PersonaNominaNif/{nifDesencriptado}");
+ if (!responsePers.IsSuccessStatusCode)
+ {
+ throw new Exception($"Error al obtener los datos de la persona. Código: {responsePers.StatusCode}");
+ }
+
+ var resultContentPers = await responsePers.Content.ReadAsStringAsync();
+ Persona = JsonConvert.DeserializeObject(resultContentPers) ?? throw new Exception("Error al deserializar los datos de la persona.");
+ Nomina = Persona.NOMINATRABAJADORCABECERA?.FirstOrDefault(x => x.IDNOMINA == NominaDesencriptada);
+
+ mensajes.Add(new ToastMessage
+ {
+ Type = ToastType.Primary,
+ Message = $"Guardado correctamente.",
+ });
+ }
+ }
+ else
+ {
+ var html = "";
+ html += "Revise los errores antes de guardar:";
+ foreach (string m in editContext.GetValidationMessages())
+ {
+ html += "\n" + m + ". ";
+ }
+
+ mensajes.Add(new ToastMessage
+ {
+ Type = ToastType.Danger,
+
+ Message = html,
+
+ });
+
+ }
+
+ }
}
diff --git a/Antifraude.Net/GestionPersonalWeb/Models/Utilidades.cs b/Antifraude.Net/GestionPersonalWeb/Models/Utilidades.cs
index 575086b..78cc176 100644
--- a/Antifraude.Net/GestionPersonalWeb/Models/Utilidades.cs
+++ b/Antifraude.Net/GestionPersonalWeb/Models/Utilidades.cs
@@ -198,13 +198,13 @@ namespace GestionPersonalWeb.Models
public static async Task ActualizarObjeto(HttpClient cliente, String uri, T objeto, List mensajes = null)
{
try
- {
+ {
// Limpiar propiedades de navegación
VaciarPropiedadesDeNavegacion(objeto);
// Realizar la solicitud PUT
var response = await cliente.PutAsJsonAsync(uri, objeto);
-
+
if (response.IsSuccessStatusCode)
{
//var resultContent = await response.Content.ReadAsStringAsync();
diff --git a/Antifraude.Net/RegistroPersonalAN/Components/Pages/ListadoPersonas.razor b/Antifraude.Net/RegistroPersonalAN/Components/Pages/ListadoPersonas.razor
index 3f8a0bf..2c0ff0a 100644
--- a/Antifraude.Net/RegistroPersonalAN/Components/Pages/ListadoPersonas.razor
+++ b/Antifraude.Net/RegistroPersonalAN/Components/Pages/ListadoPersonas.razor
@@ -1,4 +1,4 @@
-@page "/ListadoPersonas"
+ @page "/ListadoPersonas"
@using System.Net.Http.Headers
@using System.Linq.Expressions
@using Newtonsoft.Json
diff --git a/Antifraude.Net/SwaggerAntifraude/Controllers/NOMINATRABAJADORCABECERAController.cs b/Antifraude.Net/SwaggerAntifraude/Controllers/NOMINATRABAJADORCABECERAController.cs
index 39eddae..1524e7e 100644
--- a/Antifraude.Net/SwaggerAntifraude/Controllers/NOMINATRABAJADORCABECERAController.cs
+++ b/Antifraude.Net/SwaggerAntifraude/Controllers/NOMINATRABAJADORCABECERAController.cs
@@ -26,10 +26,10 @@ namespace SwaggerAntifraude.Controllers
using (var context = tsGestionAntifraude.NuevoContexto(SoloLectura: true, UseLazyLoadingProxies: false))
{
//var dbSet = context.Set();
- var entities = context.PERIODOSSILTRA
- .Include(x => x.TRAMOSSILTRA)
+ var entities = context.NOMINATRABAJADORCABECERA
+ .Include(x => x.IDPERSONANavigation)
.AsNoTracking()
- .FirstOrDefault(v => v.IDPERIODOSILTRA == id);
+ .FirstOrDefault(v => v.IDNOMINATRABAJADOR == id);
diff --git a/Antifraude.Net/bdAntifraude/extensiones/NOMINATRABAJADORCABECERA.cs b/Antifraude.Net/bdAntifraude/extensiones/NOMINATRABAJADORCABECERA.cs
index d44579d..dd9991d 100644
--- a/Antifraude.Net/bdAntifraude/extensiones/NOMINATRABAJADORCABECERA.cs
+++ b/Antifraude.Net/bdAntifraude/extensiones/NOMINATRABAJADORCABECERA.cs
@@ -1631,11 +1631,19 @@ namespace bdAntifraude.db
}
}
[NotMapped]
- public double IMPORTESEGURO
+ public double? IMPORTESEGURO
{
get
{
- return (double)(this.IDPERSONANavigation.SEGUROACCIDENTE);
+ if (this.IDPERSONANavigation != null)
+ {
+return (double)(this.IDPERSONANavigation.SEGUROACCIDENTE);
+ }
+ else
+ {
+ return 0;
+ }
+
}
}