diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Layout/MainLayout.razor b/Antifraude.Net/GestionPersonalWeb/Components/Layout/MainLayout.razor index 28c1dfd..9bffa19 100644 --- a/Antifraude.Net/GestionPersonalWeb/Components/Layout/MainLayout.razor +++ b/Antifraude.Net/GestionPersonalWeb/Components/Layout/MainLayout.razor @@ -47,7 +47,7 @@ - Trabajadores + Trabajadores Generar Nóminas Nóminas @@ -110,14 +110,14 @@ diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/Bancos.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/Bancos.razor new file mode 100644 index 0000000..8175e7b --- /dev/null +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/Bancos.razor @@ -0,0 +1,262 @@ +@page "/Bancos" +@using System.Net.Http.Headers +@using System.Linq.Expressions +@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 + +
+
+
Bancos
+
+ + @if (lPuestos == null) + { +
+
+
+ } + else if (!lPuestos.Any()) + { +

No se encontraron datos para mostrar.

+ } + else + { +
+
+
+
+ +
+ +
+ + + + @context.CODIGO + + + @context.NOMBRE + + + @context.BIC + + + @if (context.OBSOLETO) + { + + } + + + @context.IDTIPOPERSONANavigation.DESCRIPCION + + + @if (context.FECHABAJA != null) + { + @context.FECHABAJA + } + + + + + +
+ + +
+ @foreach (var itm in lPuestos) + { + var collapseId = $"collapse{itm.IDBANCO}"; +
+ +
+
+
+
Código
+
@itm.CODIGO
+
Nombre
+
@itm.NOMBRE
+
BIC
+
@itm.BIC
+
Obsoleto
+
+ @if(@itm.OBSOLETO) + { + + } +
+
+
+
+
+ } +
+ } +
+ +@code { + private List lPuestos = new List(); + private List Puestos = new List(); + private string _filter = ""; + public string Filter + { + get => _filter; + set + { + if (_filter != value) + { + _filter = value; + AplicarFiltros(); + } + } + } + private void AplicarFiltros() + { + lPuestos = Puestos.Where(per => + string.IsNullOrEmpty(Filter) || + Utilidades.RemoveDiacritics(per.CODIGO).Contains(Utilidades.RemoveDiacritics(Filter), StringComparison.OrdinalIgnoreCase) || + Utilidades.RemoveDiacritics(per.NOMBRE.ToString()).Contains(Utilidades.RemoveDiacritics(Filter), StringComparison.OrdinalIgnoreCase) || + Utilidades.RemoveDiacritics(per.BIC.ToString()).Contains(Utilidades.RemoveDiacritics(Filter), StringComparison.OrdinalIgnoreCase) + ).ToList(); + UserState.CurrentPage = 1; + } + // Tamaño de página + // private int pageSize = 6; + + // Calcula el total de páginas basado en la lista filtrada + // private int TotalPaginas => (int)Math.Ceiling((double)lPuestos.Count / pageSize); + // Índice inicial y final de elementos para la página actual + // private int FromElement => lPuestos.Count == 0 ? 0 : (UserState.CurrentPage - 1) * pageSize + 1; + // private int ToElement + // { + // get + // { + // if (lPuestos.Count == 0) + // { + // return 0; + // } + // int last = FromElement + pageSize - 1; + // return last > lPuestos.Count ? lPuestos.Count : last; + // } + // } + // Sublista de datos para la página actual basada en la lista filtrada + // private List lPuestosPaginada => + // lPuestos.Skip((UserState.CurrentPage - 1) * pageSize).Take(pageSize).ToList(); + // private void PaginaAnterior() + // { + // if (UserState.CurrentPage > 1) + // { + // UserState.CurrentPage--; + // } + // } + // private void PaginaSiguiente() + // { + // if (UserState.CurrentPage < TotalPaginas) + // { + // UserState.CurrentPage++; + // } + // } + // private void PrimeraPagina() => UserState.CurrentPage = 1; + // private void UltimaPagina() => UserState.CurrentPage = TotalPaginas; + // private void NuevaPersona() + // { + // NavigationManager.NavigateTo("/InfoPersonas", forceLoad: true); + // } + private string HashRed(string id) + { + string link = "/infoPers?cl=" + tsUtilidades.crypt.FEncS( + id, + "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", + "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", + 875421649); + return link; + } + // Bandera que indica si se está en modo "Ver Todos" + private bool verTodosActive = false; + + private async Task ToggleVerTodos() + { + if (!verTodosActive) + { + verTodosActive = true; + 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 resultPersonas = await client.GetAsync("/BANCOS"); + var resultContent = await resultPersonas.Content.ReadAsStringAsync(); + Puestos = JsonConvert.DeserializeObject>(resultContent) + ?? new List(); + } + else + { + verTodosActive = false; + 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 resultPersonas = await client.GetAsync("/api/BANCOS"); + var resultContent = await resultPersonas.Content.ReadAsStringAsync(); + Puestos = JsonConvert.DeserializeObject>(resultContent) + ?? new List(); + } + + Puestos = Puestos + .OrderBy(x => x.CODIGO) + .ToList(); + + lPuestos = Puestos; + UserState.CurrentPage = 1; + Filter = ""; + } + + protected override async Task OnInitializedAsync() + { + verTodosActive = false; + 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 resultPersonas = await client.GetAsync("/api/BANCOS"); + var resultContent = await resultPersonas.Content.ReadAsStringAsync(); + Puestos = JsonConvert.DeserializeObject>(resultContent) + ?? new List(); + + Puestos = Puestos.OrderBy(x => x.CODIGO) + .ToList(); + + lPuestos = Puestos; + } + +} + diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/ConceptosGenerales.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/ConceptosGenerales.razor new file mode 100644 index 0000000..75f084e --- /dev/null +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/ConceptosGenerales.razor @@ -0,0 +1,188 @@ +@page "/ConceptosGenerales" +@using System.Net.Http.Headers +@using System.Linq.Expressions +@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 + +
+
+
Conceptos Generales
+
+ + @if (lConceptos == null) + { +
+
+
+ } + else if (!lConceptos.Any()) + { +

No se encontraron datos para mostrar.

+ } + else + { +
+
+
+
+ +
+ +
+ + + + @context.DESCRIPCION + + + + + +
+ + + @*
+ @foreach (var itm in lPuestos) + { + var collapseId = $"collapse{itm.IDTIPOPUESTO}"; +
+ +
+
+
+
Descripción
+
@itm.DESCRIPCION
+
+
+
+
+ } +
*@ + } +
+ +@code { + private List lConceptos = new List(); + private List Conceptos = new List(); + private string _filter = ""; + public string Filter + { + get => _filter; + set + { + if (_filter != value) + { + _filter = value; + AplicarFiltros(); + } + } + } + private void AplicarFiltros() + { + lConceptos = Conceptos.Where(per => + string.IsNullOrEmpty(Filter) || + Utilidades.RemoveDiacritics(per.DESCRIPCION).Contains(Utilidades.RemoveDiacritics(Filter), StringComparison.OrdinalIgnoreCase) + ).ToList(); + UserState.CurrentPage = 1; + } + + private string HashRed(string id) + { + string link = "/infoPers?cl=" + tsUtilidades.crypt.FEncS( + id, + "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", + "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", + 875421649); + return link; + } + // Bandera que indica si se está en modo "Ver Todos" + private bool verTodosActive = false; + + private async Task ToggleVerTodos() + { + if (!verTodosActive) + { + verTodosActive = true; + 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 resultPersonas = await client.GetAsync("/CONCEPTOSGENERALES"); + var resultContent = await resultPersonas.Content.ReadAsStringAsync(); + Conceptos = JsonConvert.DeserializeObject>(resultContent) + ?? new List(); + } + else + { + verTodosActive = false; + 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 resultPersonas = await client.GetAsync("/api/CONCEPTOSGENERALES"); + var resultContent = await resultPersonas.Content.ReadAsStringAsync(); + Conceptos = JsonConvert.DeserializeObject>(resultContent) + ?? new List(); + } + + Conceptos = Conceptos + .OrderBy(x => x.DESCRIPCION) + .ToList(); + + lConceptos = Conceptos; + UserState.CurrentPage = 1; + Filter = ""; + } + + protected override async Task OnInitializedAsync() + { + verTodosActive = false; + 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 resultPersonas = await client.GetAsync("/api/CONCEPTOSGENERALES"); + var resultContent = await resultPersonas.Content.ReadAsStringAsync(); + Conceptos = JsonConvert.DeserializeObject>(resultContent) + ?? new List(); + + Conceptos = Conceptos + .OrderBy(x => x.DESCRIPCION) + .ToList(); + + lConceptos = Conceptos; + } + +} + diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/Contratos.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/Contratos.razor new file mode 100644 index 0000000..04380e7 --- /dev/null +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/Contratos.razor @@ -0,0 +1,5 @@ +

Contratos

+ +@code { + +} diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/CuentasCotizacion.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/CuentasCotizacion.razor new file mode 100644 index 0000000..fe7642a --- /dev/null +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/CuentasCotizacion.razor @@ -0,0 +1,5 @@ +

CuentasCotizacion

+ +@code { + +} diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/Fiestas.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/Fiestas.razor new file mode 100644 index 0000000..7093a9e --- /dev/null +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/Fiestas.razor @@ -0,0 +1,173 @@ +@page "/fiestas" +@using System.Net.Http.Headers +@using System.Linq.Expressions +@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 + +
+
+
Fiestas
+
+ + @if (lFiestas == null) + { +
+
+
+ } + else if (!lFiestas.Any()) + { +

No se encontraron datos para mostrar.

+ } + else + { +
+
+
+
+ +
+ +
+ + + + @context.FECHA.Value.ToString().Substring(0,10) + + + @context.DESCRIPCION + + + + + +
+ + + + } +
+ +@code { + private List lFiestas = new List(); + private List fiestas = new List(); + private string _filter = ""; + public string Filter + { + get => _filter; + set + { + if (_filter != value) + { + _filter = value; + AplicarFiltros(); + } + } + } + private void AplicarFiltros() + { + lFiestas = fiestas.Where(per => + string.IsNullOrEmpty(Filter) || + Utilidades.RemoveDiacritics(per.DESCRIPCION).Contains(Utilidades.RemoveDiacritics(Filter), StringComparison.OrdinalIgnoreCase) + ).ToList(); + UserState.CurrentPage = 1; + } + + private string HashRed(string id) + { + string link = "/infoPers?cl=" + tsUtilidades.crypt.FEncS( + id, + "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", + "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", + 875421649); + return link; + } + // Bandera que indica si se está en modo "Ver Todos" + private bool verTodosActive = false; + + private async Task ToggleVerTodos() + { + if (!verTodosActive) + { + verTodosActive = true; + 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 resultPersonas = await client.GetAsync("/FIESTAS"); + var resultContent = await resultPersonas.Content.ReadAsStringAsync(); + fiestas = JsonConvert.DeserializeObject>(resultContent) + ?? new List(); + } + else + { + verTodosActive = false; + 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 resultPersonas = await client.GetAsync("/api/FIESTAS"); + var resultContent = await resultPersonas.Content.ReadAsStringAsync(); + fiestas = JsonConvert.DeserializeObject>(resultContent) + ?? new List(); + } + + fiestas = fiestas + .OrderByDescending(x => x.FECHA) + .ToList(); + + lFiestas = fiestas; + UserState.CurrentPage = 1; + Filter = ""; + } + + protected override async Task OnInitializedAsync() + { + verTodosActive = false; + 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 resultPersonas = await client.GetAsync("/api/FIESTAS"); + var resultContent = await resultPersonas.Content.ReadAsStringAsync(); + fiestas = JsonConvert.DeserializeObject>(resultContent) + ?? new List(); + + fiestas = fiestas + .OrderByDescending(x => x.FECHA) + .ToList(); + + lFiestas = fiestas; + } + +} + diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/TiposPuestoTrabajo.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/TiposPuestoTrabajo.razor index f987f3f..5c8e896 100644 --- a/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/TiposPuestoTrabajo.razor +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/TiposPuestoTrabajo.razor @@ -33,20 +33,7 @@ } else { -
- @* *@ - @* - - *@ - @* *@ +
@@ -54,7 +41,6 @@ @bind-value="Filter" @bind-value:event="oninput" />
-
@context.GRUPOTARIFA - - @context.CONCEPTOSTIPOSPUESTOSTRABAJO + + @context.IDTIPOPERSONANavigation.DESCRIPCION @if(context.FECHABAJA != null){ @@ -115,7 +101,7 @@
Grupo tarifa
@itm.GRUPOTARIFA
Tipo
-
@itm.CONCEPTOSTIPOSPUESTOSTRABAJO
+
@itm.IDTIPOPERSONANavigation.DESCRIPCION
Fecha baja
@itm.FECHABAJA
@@ -123,87 +109,7 @@
} - - - - @*
- -
-
    - -
  • - -
  • - -
  • - -
  • - - - @if (PageNumbersToDisplay().Any() && PageNumbersToDisplay().First() > 1) - { -
  • - -
  • -
  • ...
  • - } - - - @foreach (var pageNum in PageNumbersToDisplay()) - { -
  • - -
  • - } - - - @if (PageNumbersToDisplay().Any() && PageNumbersToDisplay().Last() < TotalPaginas) - { -
  • -
  • - -
  • - } - - -
  • - -
  • - -
  • - -
  • -
-
- - -
- @FromElement - @ToElement de @lPuestos.Count elementos -
-
*@ + } @@ -219,11 +125,23 @@ if (_filter != value) { _filter = value; - // AplicarFiltros(); + AplicarFiltros(); } } } - + private void AplicarFiltros() + { + lPuestos = Puestos.Where(per => + string.IsNullOrEmpty(Filter) || + Utilidades.RemoveDiacritics(per.DESCRIPCION).Contains(Utilidades.RemoveDiacritics(Filter), StringComparison.OrdinalIgnoreCase) || + Utilidades.RemoveDiacritics(per.NIVEL.ToString()).Contains(Utilidades.RemoveDiacritics(Filter), StringComparison.OrdinalIgnoreCase) || + Utilidades.RemoveDiacritics(per.EPIGRAFE.ToString()).Contains(Utilidades.RemoveDiacritics(Filter), StringComparison.OrdinalIgnoreCase) || + Utilidades.RemoveDiacritics(per.GRUPOTARIFA).Contains(Utilidades.RemoveDiacritics(Filter), StringComparison.OrdinalIgnoreCase) || + Utilidades.RemoveDiacritics(per.IDTIPOPERSONANavigation.DESCRIPCION.ToString()).Contains(Utilidades.RemoveDiacritics(Filter), StringComparison.OrdinalIgnoreCase) || + Utilidades.RemoveDiacritics(per.FECHABAJA.ToString()).Contains(Utilidades.RemoveDiacritics(Filter), StringComparison.OrdinalIgnoreCase) + ).ToList(); + UserState.CurrentPage = 1; + } // Tamaño de página // private int pageSize = 6; @@ -277,9 +195,7 @@ } // Bandera que indica si se está en modo "Ver Todos" private bool verTodosActive = false; - /// - /// Método toggle que cambia entre mostrar todos los registros y solo activos. - /// + private async Task ToggleVerTodos() { if (!verTodosActive) @@ -320,50 +236,7 @@ UserState.CurrentPage = 1; Filter = ""; } - // private void AplicarFiltros() - // { - // lPuestos = Puestos.Where(per => - // string.IsNullOrEmpty(Filter) || - // Utilidades.RemoveDiacritics(per.NIF).Contains(Utilidades.RemoveDiacritics(Filter), StringComparison.OrdinalIgnoreCase) || - // Utilidades.RemoveDiacritics(per.APELLIDOS).Contains(Utilidades.RemoveDiacritics(Filter), StringComparison.OrdinalIgnoreCase) || - // Utilidades.RemoveDiacritics(per.NOMBRE).Contains(Utilidades.RemoveDiacritics(Filter), StringComparison.OrdinalIgnoreCase) - // ).ToList(); - // UserState.CurrentPage = 1; - // } - /// - /// Retorna un subconjunto de páginas alrededor de la página actual (±2 páginas). - /// - // private IEnumerable PageNumbersToDisplay() - // { - // int range = 2; - // int startPage = Math.Max(1, UserState.CurrentPage - range); - // int endPage = Math.Min(TotalPaginas, UserState.CurrentPage + range); - - // for (int i = startPage; i <= endPage; i++) - // { - // yield return i; - // } - // } - /// - /// Formatea el nombre de la persona insertando un salto de línea después de la segunda palabra. - /// - /// Nombre a formatear - /// MarkupString con el nombre formateado - 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() { verTodosActive = false; @@ -385,81 +258,6 @@ lPuestos = Puestos; } - // private async Task btnExportarPDF() - // { - // var itm = lPuestos - // .Select(f => new - // { - // NIF = f.NIF, - // Apellidos = f.APELLIDOS, - // Nombre = f.NOMBRE, - // Correo_Electrónico = f.CORREOELECTRONICO, - // Cuerpo = f.IDCUERPORPTNavigation.DESCRIPCION, - // Nivel_Puesto = f.IDNIVELRPTNavigation.DESCRIPCION, - // Caracter_Ocupación = f.CARGOULTIMOPUESTO, - // Departamento = f.DEPARTAMENTOACTUAL, - // Puesto_Actual = f.PUESTOACTUAL, - // Situación = f.IDSITUACIONENRPTNavigation.DESCRIPCION - - // }) - // .ToList(); - // var logoBytes = await File.ReadAllBytesAsync("wwwroot/Content/imagenes/1oaaflogo.png"); - - // // Color de cabecera para PDF - // var pdfHeaderColor = new MigraDocCore.DocumentObjectModel.Color(0, 85, 135); - - // await Utilidades.ExportarPdfEnBrowser( - // JS, - // itm, - // logoBytes, - // pdfHeaderColor, - // $"Personas.pdf"); - // } - // private async Task btnExportarExcel() - // { - // var itm = lPuestos - // .Select(f => new - // { - // NIF = f.NIF, - // Apellidos = f.APELLIDOS, - // Nombre = f.NOMBRE, - // Correo_Electrónico = f.CORREOELECTRONICO, - // Cuerpo = f.IDCUERPORPTNavigation.DESCRIPCION, - // Nivel_Puesto = f.IDNIVELRPTNavigation.DESCRIPCION, - // Caracter_Ocupación = f.CARGOULTIMOPUESTO, - // Departamento = f.DEPARTAMENTOACTUAL, - // Puesto_Actual = f.PUESTOACTUAL, - // Situación = f.IDSITUACIONENRPTNavigation.DESCRIPCION - - // }) - // .ToList(); - // // 2) Carga tu logo (por ejemplo desde wwwroot/images/logo.png) - // var logoBytes = await File.ReadAllBytesAsync("wwwroot/Content/imagenes/1oaaflogo.png"); - - // // 3) Define el color de cabecera para Excel - // var excelHeaderColor = ClosedXML.Excel.XLColor.FromArgb(0, 85, 135); - - // // 4) Llama a tu helper pasando logo y color - // await Utilidades.ExportarExcelEnBrowser( - // JS, - // itm, - // logoBytes, - // excelHeaderColor, - // $"Personas.xlsx"); - - // // await Utilidades.ExportarExcelEnBrowser(JS, itm, $"Puestos_{Persona.APELLIDOS}_{Persona.NOMBRE}.xlsx"); - - // } + } -@* Helper para descargar archivos desde base64 *@ - diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/TiposTramosSILTRA.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/TiposTramosSILTRA.razor new file mode 100644 index 0000000..0784e96 --- /dev/null +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/TiposTramosSILTRA.razor @@ -0,0 +1,5 @@ +

TiposTramosSILTRA

+ +@code { + +} diff --git a/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/ValoresNomina.razor b/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/ValoresNomina.razor new file mode 100644 index 0000000..e7bc882 --- /dev/null +++ b/Antifraude.Net/GestionPersonalWeb/Components/Pages/FicherosMaestros/ValoresNomina.razor @@ -0,0 +1,5 @@ +

ValoresNomina

+ +@code { + +} diff --git a/Antifraude.Net/SwaggerAntifraude/Controllers/BANCOSController.cs b/Antifraude.Net/SwaggerAntifraude/Controllers/BANCOSController.cs new file mode 100644 index 0000000..0132521 --- /dev/null +++ b/Antifraude.Net/SwaggerAntifraude/Controllers/BANCOSController.cs @@ -0,0 +1,69 @@ +using bdAntifraude.db; +using bdAntifraude.dbcontext; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Authorization; +using Microsoft.EntityFrameworkCore; +using Serialize.Linq.Serializers; +using System.Linq.Expressions; +using SwaggerAntifraude.Controllers; + +namespace SwaggerAntifraude.Controllers +{ + [ApiController] + [Route("api/[controller]")] + public class BANCOSController : GenericoController + { + public BANCOSController() + : base() + { + } + + [HttpGet] + public override async Task GetAll() + { + try + { + using (var context = tsGestionAntifraude.NuevoContexto(SoloLectura: true, UseLazyLoadingProxies: false)) + { + var entities = await context.BANCOS + .AsNoTracking() + .ToListAsync(); + return Ok(entities); + } + } + catch (Exception ex) + { + return StatusCode(500, $"Error interno del servidor: {ex.Message}"); + } + } + + [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.BANCOS + .AsNoTracking() + .FirstOrDefault(v => v.IDBANCO == 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/CONCEPTOSGENERALESController.cs b/Antifraude.Net/SwaggerAntifraude/Controllers/CONCEPTOSGENERALESController.cs new file mode 100644 index 0000000..4abaa41 --- /dev/null +++ b/Antifraude.Net/SwaggerAntifraude/Controllers/CONCEPTOSGENERALESController.cs @@ -0,0 +1,70 @@ +using bdAntifraude.db; +using bdAntifraude.dbcontext; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Authorization; +using Microsoft.EntityFrameworkCore; +using Serialize.Linq.Serializers; +using System.Linq.Expressions; +using SwaggerAntifraude.Controllers; + +namespace SwaggerAntifraude.Controllers +{ + [ApiController] + [Route("api/[controller]")] + public class CONCEPTOSGENERALESController: GenericoController + { + public CONCEPTOSGENERALESController() + : base() + { + } + + [HttpGet] + public override async Task GetAll() + { + try + { + using (var context = tsGestionAntifraude.NuevoContexto(SoloLectura: true, UseLazyLoadingProxies: false)) + { + var entities = await context.CONCEPTOSGENERALES + //.Include(x => x.IDTIPOPERSONANavigation) + .AsNoTracking() + .ToListAsync(); + return Ok(entities); + } + } + catch (Exception ex) + { + return StatusCode(500, $"Error interno del servidor: {ex.Message}"); + } + } + + [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.CONCEPTOSGENERALES + .AsNoTracking() + .FirstOrDefault(v => v.IDCONCEPTOSGENERALES == 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/FIESTASController.cs b/Antifraude.Net/SwaggerAntifraude/Controllers/FIESTASController.cs new file mode 100644 index 0000000..ccd96ee --- /dev/null +++ b/Antifraude.Net/SwaggerAntifraude/Controllers/FIESTASController.cs @@ -0,0 +1,69 @@ +using bdAntifraude.db; +using bdAntifraude.dbcontext; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Authorization; +using Microsoft.EntityFrameworkCore; +using Serialize.Linq.Serializers; +using System.Linq.Expressions; +using SwaggerAntifraude.Controllers; + +namespace SwaggerAntifraude.Controllers +{ + [ApiController] + [Route("api/[controller]")] + public class FIESTASController : GenericoController + { + public FIESTASController() + : base() + { + } + + [HttpGet] + public override async Task GetAll() + { + try + { + using (var context = tsGestionAntifraude.NuevoContexto(SoloLectura: true, UseLazyLoadingProxies: false)) + { + var entities = await context.FIESTAS + .AsNoTracking() + .ToListAsync(); + return Ok(entities); + } + } + catch (Exception ex) + { + return StatusCode(500, $"Error interno del servidor: {ex.Message}"); + } + } + + [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.FIESTAS + .AsNoTracking() + .FirstOrDefault(v => v.IDFIESTA == 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/TIPOSPUESTOSTRABAJOController.cs b/Antifraude.Net/SwaggerAntifraude/Controllers/TIPOSPUESTOSTRABAJOController.cs index b1fda56..4b64d16 100644 --- a/Antifraude.Net/SwaggerAntifraude/Controllers/TIPOSPUESTOSTRABAJOController.cs +++ b/Antifraude.Net/SwaggerAntifraude/Controllers/TIPOSPUESTOSTRABAJOController.cs @@ -1,5 +1,11 @@ using bdAntifraude.db; +using bdAntifraude.dbcontext; using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Authorization; +using Microsoft.EntityFrameworkCore; +using Serialize.Linq.Serializers; +using System.Linq.Expressions; +using SwaggerAntifraude.Controllers; namespace SwaggerAntifraude.Controllers { @@ -11,5 +17,58 @@ namespace SwaggerAntifraude.Controllers : base() { } + + [HttpGet] + public override async Task GetAll() + { + try + { + using (var context = tsGestionAntifraude.NuevoContexto(SoloLectura: true, UseLazyLoadingProxies: false)) + { + var entities = await context.TIPOSPUESTOSTRABAJO + .Include(x => x.IDTIPOPERSONANavigation) + .AsNoTracking() + .ToListAsync(); + return Ok(entities); + } + } + catch (Exception ex) + { + return StatusCode(500, $"Error interno del servidor: {ex.Message}"); + } + } + + [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.NOMINAS + .Include(x => x.IDTIPONavigation) + .Include(x => x.IDSITUACIONNOMINANavigation) + //.Include(x => x.NOMINATRABAJADORCABECERA) + //.ThenInclude(pr => pr.IDPERSONANavigation) + .AsNoTracking() + .FirstOrDefault(v => v.IDNOMINAS == id); + + + + if (entities == null) + return NotFound(); + + return Ok(entities); + } + } + catch (Exception ex) + { + return StatusCode(500, $"Error interno del servidor: {ex.Message}"); + } + } + + } }