diff --git a/Antifraude.Net/Antifraude.Net.sln b/Antifraude.Net/Antifraude.Net.sln index ab0db36..dc90e7c 100644 --- a/Antifraude.Net/Antifraude.Net.sln +++ b/Antifraude.Net/Antifraude.Net.sln @@ -46,25 +46,4 @@ Global GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {43CD0232-BD99-4567-84A1-B141DEFC2B80} EndGlobalSection - GlobalSection(TeamFoundationVersionControl) = preSolution - SccNumberOfProjects = 6 - SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C} - SccTeamFoundationServer = http://ts-devopss:81/tecnosiscollection - SccLocalPath0 = . - SccProjectUniqueName1 = bdAntifraude\\bdAntifraude.csproj - SccProjectName1 = bdAntifraude - SccLocalPath1 = bdAntifraude - SccProjectUniqueName2 = RegistroPersonalAN\\RegistroPersonalAN.csproj - SccProjectName2 = RegistroPersonalAN - SccLocalPath2 = RegistroPersonalAN - SccProjectUniqueName3 = SwaggerAntifraude\\SwaggerAntifraude.csproj - SccProjectName3 = SwaggerAntifraude - SccLocalPath3 = SwaggerAntifraude - SccProjectUniqueName4 = GestionaDenunciasAN\\GestionaDenunciasAN.csproj - SccProjectName4 = GestionaDenunciasAN - SccLocalPath4 = GestionaDenunciasAN - SccProjectUniqueName5 = GestionPersonalWeb\\GestionPersonalWeb.csproj - SccProjectName5 = GestionPersonalWeb - SccLocalPath5 = GestionPersonalWeb - EndGlobalSection EndGlobal diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/NominaPersona.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/NominaPersona.razor index 438122e..8f6b1db 100644 --- a/Antifraude.Net/GestionPersonalWeb/Components/Pages/NominaPersona.razor +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/NominaPersona.razor @@ -18,19 +18,19 @@ @inject IHttpContextAccessor HttpContextAccessor @inject ProtectedSessionStorage ProtectedSessionStore @inject UserState UserState -

Varios

-
+ +
- +
- +
- +
@@ -57,56 +57,58 @@ } } - @* *@ + @* *@
- +
- @if (Nomina.IDNOMINANavigation != null){ - + @if (Nomina.IDNOMINANavigation != null) + { + } else { - + }
-
+
- +
-
+
- -
-
+ +
+
- @if(Nomina.IDGRUPOFUNCIONARIONavigation != null){ - + @if (Nomina.IDGRUPOFUNCIONARIONavigation != null) + { + } else { - + }
-
+
- +
-
+ @*
*@
- +
- +
-
+
@@ -119,17 +121,18 @@ }
-
+
- @if(Nomina.IDSINDICATO1Navigation != null){ - + @if (Nomina.IDSINDICATO1Navigation != null) + { + } else { - + }
-
+
@@ -142,15 +145,15 @@ }
-
+
@if (Nomina.IDSINDICATO2Navigation != null) { - + } else { - + }
@@ -162,34 +165,421 @@
- +
- +
- +
- +
-
- - +
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + + + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ @* --------------------------------- *@ +
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ @* --------------------------------- *@ +
+ + +
+
+ + +
+
+ + +
+
+ +
- - +
+ @* --------------------------------- *@ +
+ + +
+
+ + +
+
+ + +
+
+ +
- -
+ @* --------------------------------- *@ +
+ + +
+
+ + +
+
+ + +
+
+ + + + @if (lMutua != null) + { + @foreach (var enumera in lMutua) + { + + } + } + +
+
+ + + + @if (lMutua != null) + { + @foreach (var enumera in lMutua) + { + + } + } + +
+
+
+
+
+
+ +
+
+ + + +
+ + + + + @context.DESCRIPCIONCONCEPTO + + + @context.CANTIDAD + + + @context.IMPORTE + + + @context.TOTALRETRIBUCIONES + + + @context.TOTALDEDUCCIONES + + + @context.CONCEPTOAL100 + + + @context.APLICACIONPRESUPUESTARIA + + + @if (context.REDUCCIONJORNADA == 1) + { + + } + else { } + + + @if (context.TRABAJOATIEMPOPARCIAL == 1) + { + + } + else { } + + + + +
+
+
+ + +
+ + + + + @context.DESCRIPCION + + + @context.IMPORTE + + + @context.CUOTA + + + @context.SEGURIDADSOCIAL + + + + +
+
+
+ + +
+ + + + + @context.IDCONCEPTONOMINANavigation.DESCRIPCION + + + @context.CANTIDAD + + + @context.IMPORTE + + + @context.IRPF + + + + + +
+
+
+ + +
+ + + + + @context.FECHAINICIO.ToString().Substring(0,10) + + + @context.FECHAFIN + + + @context.DIAS + + + @context.IDCONTRATONavigation?.DESCRIPCION + + + @context.GRUPOTARIFA + + + @context.CNAE + + + @context.REDUCCIONJORNADA + + + @context.TIPOPERIODOSTRAMOS + + + @context.TIPOLIQUIDACION + + + @context.NUMERODIASIRPF + + + @context.IMPORTEIRPF + + + @context.IDESTADONavigation?.DESCRIPCION + + + @context.NUMEROLIQUIDACION + + + +
@@ -207,13 +597,18 @@ public EventCallback OnPersonaActualizada { get; set; } private List lSexo = new List(); private List lTipoContra = new List(); - private List lSindicato= new List(); - + private List lSindicato = new List(); + private List lMutua = new List(); + private List lConceptos = new List(); + private List lPagoEspecie= new List(); + private List lIncidencias= new List(); + private List lSiltra= new List(); private ValidationMessageStore? messageStore; private string errorMessage = ""; 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 async Task OnTabShownAsync(TabsEventArgs args) { var panelActivo = args.ActiveTabName; @@ -245,7 +640,7 @@ var clCn = clDesencriptado.Split("-"); var nifDesencriptado = clCn[0]; - var NominaDesencriptada = Int32.Parse(clCn[1]); + var NominaDesencriptada = Int32.Parse(clCn[1]); // int NominaDesencriptada = Int32.Parse(tsUtilidades.crypt.FEncS(cn, // "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", // "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", @@ -263,20 +658,39 @@ 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); + lConceptos = new List(); + foreach (var lin in Nomina.NOMINATRABAJADORLINEA){lConceptos.Add(lin);} + lPagoEspecie = new List(); + foreach(var pag in Nomina.NOMINATRABAJADORPAGOESPECIE){lPagoEspecie.Add(pag);} + lIncidencias = new List(); + foreach (var pag in Nomina.INCIDENCIAS) { lIncidencias.Add(pag); } + lSiltra = new List(); + foreach (var pag in Nomina.PERIODOSSILTRA) { lSiltra.Add(pag); } // lblNombre = persona.NOMBRE + " " + Persona.APELLIDOS; - - + + await CargarSelects(); } catch (Exception ex) { errorMessage = ex.Message; - Console.WriteLine($"Error durante la inicialización: {ex.Message}"); + Console.WriteLine($"Error durante la inicialización: {ex.Message}"); } } + private string HashRed(string id) + { + string link = "/PeriodoSiltra?cl=" + tsUtilidades.crypt.FEncS( + id, + "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", + "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", + 875421649); + return link; + } + + private async Task CargarSelects() { try @@ -284,16 +698,17 @@ lSexo = await Utilidades.ObtenerObjeto>(cliente, "/api/ENUMERACIONES/EnumeracionesGrupo/SEXO"); lSindicato = await Utilidades.ObtenerObjeto>(cliente, "/api/ENUMERACIONES/EnumeracionesGrupo/SIND"); + lMutua = await Utilidades.ObtenerObjeto>(cliente, "/api/ENUMERACIONES/EnumeracionesGrupo/MUT"); // lTipoContra = await Utilidades.ObtenerObjeto>(cliente, "/api/CONTRATOS"); var responseTipCon = await cliente.GetAsync("/api/CONTRATOS/"); if (responseTipCon.IsSuccessStatusCode) { lTipoContra = JsonConvert.DeserializeObject>(await responseTipCon.Content.ReadAsStringAsync()); } - + StateHasChanged(); } catch (Exception ex) { errorMessage = ex.Message; - Console.WriteLine($"Error durante la inicialización: {ex.Message}"); + Console.WriteLine($"Error durante la inicialización: {ex.Message}"); } } diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/PeriodoSiltraPers.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/PeriodoSiltraPers.razor new file mode 100644 index 0000000..c64fa26 --- /dev/null +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/PeriodoSiltraPers.razor @@ -0,0 +1,272 @@ +@page "/PeriodoSiltra" +@using System.Net.Http.Headers +@using System.Linq.Expressions +@using Microsoft.AspNetCore.WebUtilities +@using Newtonsoft.Json +@using System.Text +@using Serialize.Linq.Serializers +@using GestionPersonalWeb.Models +@using BlazorBootstrap +@using bdAntifraude.db +@using Microsoft.AspNetCore.Components + +@rendermode InteractiveServer +@inject IJSRuntime JS +@inject NavigationManager NavigationManager +@inject IHttpClientFactory HttpClientFactory +@inject IHttpContextAccessor HttpContextAccessor +@inject UserState UserState + +
+
+
Periodo Siltra
+
+ + @if (PeriodoSiltra == null) + { +
+
+
+ } + else + { +
+
+ + +
+
+ + +
+
+ + +
+ +
+ + + + @if (lCuentaCoti != null) + { + @foreach (var enumera in lCuentaCoti) + { + + } + } + +
+ +
+ + + + @if (lTipLiq != null) + { + @foreach (var enumera in lTipLiq) + { + + } + } + +
+
+ + +
+
+ + +
+
+ + +
+
+ + + + @* @if (lSexo != null) + { + @foreach (var enumera in lSexo) + { + + } + } *@ + +
+
+ + + + @if (lTipPeriodo != null) + { + @foreach (var enumera in lTipPeriodo) + { + + } + } + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ + + + @if (lTraSil.Any(x => x.IDTIPOTRAMO == context.IDTIPOTRAMONavigation?.IDCODIGOTRAMOACUMULA)){ +

@context.IDTIPOTRAMONavigation?.CODIGO - @context.IDTIPOTRAMONavigation?.DESCRIPCION

+ } + else + { +

@context.IDTIPOTRAMONavigation?.CODIGO - @context.IDTIPOTRAMONavigation?.DESCRIPCION

+ } +
+ + @context.IMPORTE + + + @context.PORCENTAJEEMPRESA + + + @context.IMPORTEEMPRESA + + + @context.PORCENTAJETRABAJADOR + + + @context.IMPORTETRABAJADOR + + + @context.IMPORTEGLOBAL + + + @context.IDTIPOTRAMONavigation.IDTIPOTRAMOFICHEROXMLNavigation.DESCRIPCION + +
+
+
+ +
+ } +
+ +@code { + private PERIODOSSILTRA PeriodoSiltra { get; set; } + private List annos = new List(); + private string cl { get; set; } + private List lCuentaCoti = new List(); + private List lTipLiq = new List(); + private List lEstados = new List(); + // private List lTipPeriodo = new List(); + private List lTipPeriodo = new List(); + private List lTraSil = new List(); + + + private string _filter = ""; + public string Filter + { + get => _filter; + set + { + if (_filter != value) + { + _filter = value; + // AplicarFiltros(); + } + } + } + + + + + + private MarkupString FormatearNombre(string nombre) + { + if (string.IsNullOrEmpty(nombre)) + { + return new MarkupString(string.Empty); + } + var palabras = nombre.Split(' '); + if (palabras.Length > 2) + { + string primeraParte = string.Join(" ", palabras.Take(2)); + string resto = string.Join(" ", palabras.Skip(2)); + return new MarkupString($"{primeraParte}
{resto}"); + } + return new MarkupString(nombre); + } + protected override async Task OnInitializedAsync() + { + + var token = UserState.Token; + var client = HttpClientFactory.CreateClient(); + client.BaseAddress = new Uri(Utilidades.urlSwagger()); + client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); + client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); + + + var url = NavigationManager.ToAbsoluteUri(NavigationManager.Uri); + + if (QueryHelpers.ParseQuery(url.Query).TryGetValue("cl", out var clValue)) + { + cl = clValue; + } + + if (string.IsNullOrEmpty(cl)) + { + PeriodoSiltra = new PERIODOSSILTRA(); + + } + string idDesencriptado = tsUtilidades.crypt.FEncS(cl, + "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", + "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", + -875421649); + + var response = await client.GetAsync($"/api/PERIODOSSILTRA/{idDesencriptado}"); + if (!response.IsSuccessStatusCode) + { + throw new Exception($"Error al obtener los datos de la persona. Código: {response.StatusCode}"); + } + var resultContent = await response.Content.ReadAsStringAsync(); + PeriodoSiltra = JsonConvert.DeserializeObject(resultContent) ?? throw new Exception("Error al deserializar los datos del Periodo Siltra."); + + foreach (var i in PeriodoSiltra.TRAMOSSILTRA) { + lTraSil.Add(i); + } + + + lTipLiq = await Utilidades.ObtenerObjeto>(client, "/api/ENUMERACIONES/EnumeracionesGrupo/TIPLIQ"); + var rlCuentaCoti = await client.GetAsync("/api/CUENTASCOTIZACIONPATRONAL"); + var rcCuentaCoti = await rlCuentaCoti.Content.ReadAsStringAsync(); + lCuentaCoti = JsonConvert.DeserializeObject>(rcCuentaCoti) ?? throw new Exception("Error al deserializar los datos."); + lEstados = await Utilidades.ObtenerObjeto>(client, "/api/ENUMERACIONES/EnumeracionesGrupo/MUT"); + lTipPeriodo = await Utilidades.ObtenerObjeto>(client, "/api/ENUMERACIONES/EnumeracionesGrupo/TIPPERTRAM"); + + + + } + } \ No newline at end of file diff --git a/Antifraude.Net/SwaggerAntifraude/Controllers/NOMINATRABAJADORCABECERAController.cs b/Antifraude.Net/SwaggerAntifraude/Controllers/NOMINATRABAJADORCABECERAController.cs index 52549c8..39eddae 100644 --- a/Antifraude.Net/SwaggerAntifraude/Controllers/NOMINATRABAJADORCABECERAController.cs +++ b/Antifraude.Net/SwaggerAntifraude/Controllers/NOMINATRABAJADORCABECERAController.cs @@ -26,13 +26,10 @@ namespace SwaggerAntifraude.Controllers using (var context = tsGestionAntifraude.NuevoContexto(SoloLectura: true, UseLazyLoadingProxies: false)) { //var dbSet = context.Set(); - var entities = context.NOMINATRABAJADORCABECERA - .Include(x => x.IDPERSONANavigation) - - //.Include(v => v.IDSERVICIOADSCRITONavigation) - //.Include(v => v.IDUNIDADADMINISTRATIVANavigation) + var entities = context.PERIODOSSILTRA + .Include(x => x.TRAMOSSILTRA) .AsNoTracking() - .FirstOrDefault(v => v.IDNOMINATRABAJADOR == id); + .FirstOrDefault(v => v.IDPERIODOSILTRA == id); diff --git a/Antifraude.Net/SwaggerAntifraude/Controllers/PERIODOSSILTRAController.cs b/Antifraude.Net/SwaggerAntifraude/Controllers/PERIODOSSILTRAController.cs new file mode 100644 index 0000000..816d00c --- /dev/null +++ b/Antifraude.Net/SwaggerAntifraude/Controllers/PERIODOSSILTRAController.cs @@ -0,0 +1,52 @@ +using bdAntifraude.db; +using bdAntifraude.dbcontext; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using Microsoft.EntityFrameworkCore; +using Serialize.Linq.Serializers; +using System.Linq.Expressions; + +namespace SwaggerAntifraude.Controllers +{ + [ApiController] + [Route("api/[controller]")] + public class PERIODOSSILTRAController : GenericoController + { + public PERIODOSSILTRAController() + : base() + { + } + + [Authorize(Policy = "LecturaPolicy")] + [HttpGet("{id}")] + public override IActionResult GetById(int id) + { + try + { + using (var context = tsGestionAntifraude.NuevoContexto(SoloLectura: true, UseLazyLoadingProxies: false)) + { + //var dbSet = context.Set(); + var entities = context.PERIODOSSILTRA + .Include(x => x.TRAMOSSILTRA) + .ThenInclude(v => v.IDTIPOTRAMONavigation) + .ThenInclude(y => y.IDTIPOTRAMOFICHEROXMLNavigation) + .Include(x => x.IDTIPOLIQUIDACIONNavigation) + .Include(x => x.IDESTADONavigation) + .AsNoTracking() + .FirstOrDefault(v => v.IDPERIODOSILTRA == id); + + + + if (entities == null) + return NotFound(); + + return Ok(entities); + } + } + catch (Exception ex) + { + return StatusCode(500, $"Error interno del servidor: {ex.Message}"); + } + } + } +} diff --git a/Antifraude.Net/SwaggerAntifraude/Controllers/PERSONASController.cs b/Antifraude.Net/SwaggerAntifraude/Controllers/PERSONASController.cs index 834e108..eb86e1c 100644 --- a/Antifraude.Net/SwaggerAntifraude/Controllers/PERSONASController.cs +++ b/Antifraude.Net/SwaggerAntifraude/Controllers/PERSONASController.cs @@ -92,7 +92,7 @@ namespace SwaggerAntifraude.Controllers .Include(cp => cp.ENFERMEDADES) .ThenInclude(y => y.IDTIPONavigation) .Include(cp => cp.MATERNIDADES) - .Include(cp=>cp.IDOCUPACIONNavigation) + .Include(cp => cp.IDOCUPACIONNavigation) .Include(cp => cp.HUELGAS) .ThenInclude(cpro => cpro.IDNOMINAORIGENDATOSNavigation) .Include(cp => cp.HUELGAS) @@ -103,21 +103,32 @@ namespace SwaggerAntifraude.Controllers .ThenInclude(idnom => idnom.IDCONCEPTONOMINANavigation) .Include(n => n.NOMINATRABAJADORCABECERA) .ThenInclude(pr => pr.IDNOMINANavigation) - .Include(pue=>pue.OTRASRETRIBUCIONES) + .Include(n => n.NOMINATRABAJADORCABECERA) + .ThenInclude(pr => pr.NOMINATRABAJADORLINEA) + .ThenInclude(y => y.IDCONCEPTOGENERALNavigation) + .Include(n => n.NOMINATRABAJADORCABECERA) + .ThenInclude(pr => pr.NOMINATRABAJADORPAGOESPECIE) + .Include(n => n.NOMINATRABAJADORCABECERA) + .ThenInclude(pr => pr.PERIODOSSILTRA) + .ThenInclude(y => y.IDCONTRATONavigation) + .Include(n => n.NOMINATRABAJADORCABECERA) + .ThenInclude(pr => pr.PERIODOSSILTRA) + .ThenInclude(y => y.IDESTADONavigation) + .Include(pue => pue.OTRASRETRIBUCIONES) .Include(cp => cp.PERMISOSSINRETRIBUCION) .ThenInclude(cpro => cpro.IDNOMINAORIGENDEDATOSNavigation) .Include(cp => cp.PERMISOSSINRETRIBUCION) .ThenInclude(cpro => cpro.IDNOMINAAPLICACIONNavigation) .Include(pue => pue.PRESTAMOS) - .ThenInclude(pre=>pre.IDNOMINAINICIONavigation) + .ThenInclude(pre => pre.IDNOMINAINICIONavigation) .Include(cp => cp.PUESTOSTRABAJO) .ThenInclude(cpro => cpro.IDTIPOPUESTOTRABAJONavigation) .Include(cp => cp.PUESTOSTRABAJO) .ThenInclude(cpro => cpro.IDGRUPOFUNCIONARIONavigation) - .Include(pue=> pue.REDUCCIONDEJORNADA) - .Include(pue=> pue.RETENCIONJUDICIAL) - .ThenInclude(ret=>ret.IDPLANTILLANavigation) - .Include(pue=>pue.PRODUCTIVIDAD) + .Include(pue => pue.REDUCCIONDEJORNADA) + .Include(pue => pue.RETENCIONJUDICIAL) + .ThenInclude(ret => ret.IDPLANTILLANavigation) + .Include(pue => pue.PRODUCTIVIDAD) .Include(pue => pue.IDSITUACIONACTUALIRPFNavigation) .ThenInclude(situ => situ.IDDISCAPACIDADNavigation) .Include(pue => pue.IDSITUACIONACTUALIRPFNavigation) diff --git a/Antifraude.Net/SwaggerAntifraude/Controllers/TIPOSTRAMOSController.cs b/Antifraude.Net/SwaggerAntifraude/Controllers/TIPOSTRAMOSController.cs new file mode 100644 index 0000000..99899c3 --- /dev/null +++ b/Antifraude.Net/SwaggerAntifraude/Controllers/TIPOSTRAMOSController.cs @@ -0,0 +1,15 @@ +using bdAntifraude.db; +using Microsoft.AspNetCore.Mvc; + +namespace SwaggerAntifraude.Controllers +{ + [ApiController] + [Route("api/[controller]")] + public class TIPOSTRAMOSController : GenericoController + { + public TIPOSTRAMOSController() + : base() + { + } + } +} diff --git a/Antifraude.Net/bdAntifraude/extensiones/TRAMOSSILTRA.cs b/Antifraude.Net/bdAntifraude/extensiones/TRAMOSSILTRA.cs index 0a9741e..b5ba30a 100644 --- a/Antifraude.Net/bdAntifraude/extensiones/TRAMOSSILTRA.cs +++ b/Antifraude.Net/bdAntifraude/extensiones/TRAMOSSILTRA.cs @@ -1,6 +1,7 @@ using bdAntifraude.dbcontext; using System; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -9,11 +10,27 @@ namespace bdAntifraude.db { public partial class TRAMOSSILTRA { + [NotMapped] public object DESCRIPCIONTRAMOXML { get { - return this.IDPERIODONavigation.IDTIPOLIQUIDACIONNavigation.VALORALFABETICO1; + if (this.IDPERIODONavigation != null) + { + if (this.IDPERIODONavigation.IDTIPOLIQUIDACIONNavigation != null) + { + return this.IDPERIODONavigation.IDTIPOLIQUIDACIONNavigation.VALORALFABETICO1; + } + else + { + return null; + } + + } + else + { + return null; + } } } }