Files
Antifraude.Net/Antifraude.Net/GestionPersonalWeb/Components/Pages/InfoPersComponents/AscendientesGrid.razor
Alejandro 8fd141abaa - Edición de todas las tablas y campos dentro de infoPers
- Controladores varios para poder hacer estas ediciones
2026-09-17 09:16:33 +02:00

95 lines
5.2 KiB
Plaintext

@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
<div class="tablaTabLateral">
<input type="button" value="Nuevo Ascendiente" @onclick="@(() => abrirPopupModificacion(new ASCENDIENTES(), true))" class="mb-2 btnOAAFBlack" />
<div style="overflow-x:auto;" class="tablaDesk">
<Grid TItem="ASCENDIENTES"
Class="table tablaRegPers"
Data="itmList"
AllowFiltering="false"
PageSize="10"
AllowPaging="true"
AllowSorting="true"
EmptyText="No se han encontrado datos"
Height="100"
PageSizeSelectorVisible="false"
PageSizeSelectorItems="@(new int[] { 5, 10, 20, 50 })"
Responsive="true"
PaginationItemsTextFormat="{0} - {1} de {2} elementos">
<GridColumns>
<GridColumn TItem="ASCENDIENTES" HeaderText="Editar" FilterButtonCSSClass="hidden"><button class="btnOAAFAzul" @onclick="@(() => abrirPopupModificacion(context, false))">Editar</button></GridColumn>
<GridColumn TItem="ASCENDIENTES" HeaderText="Nombre">
@context.NOMBRE
</GridColumn>
<GridColumn TItem="ASCENDIENTES" HeaderText="Fecha Nacimiento">
@context.FECHANACIMIENTO?.ToString("dd/MM/yyyy")
</GridColumn>
<GridColumn TItem="ASCENDIENTES" HeaderText="convivencia">
@context.CONVIVENCIA
</GridColumn>
<GridColumn TItem="ASCENDIENTES" HeaderText="Discapacidad">
@context.IDDISCAPACIDADNavigation?.DESCRIPCION
</GridColumn>
<GridColumn TItem="ASCENDIENTES" HeaderText="Movilidad Reducida">
@if (context.MOVILIDADREDUCIDA)
{
<i class="fa-regular fa-square-check"></i>
}
</GridColumn>
</GridColumns>
</Grid>
</div>
</div>
<Modal @ref="popupGestionDatos" IsVerticallyCentered="true" UseStaticBackdrop="true" CloseOnEscape="false"><BodyTemplate><div class="row">
<div class="col-md-6 mb-2"><label class="fw-bold">Nombre</label><input class="form-control" @bind-value="ItemEnEdicion.NOMBRE" /></div>
<div class="col-md-6 mb-2"><label class="fw-bold">Fecha Nacimiento</label><input class="form-control" type="date" @bind-value="ItemEnEdicion.FECHANACIMIENTO" /></div>
<div class="col-md-6 mb-2"><label class="fw-bold">Convivencia</label><input class="form-control" type="number" @bind-value="ItemEnEdicion.CONVIVENCIA" /></div>
<div class="col-md-6 mb-2"><label class="fw-bold">Discapacidad (ID)</label><input class="form-control" type="number" @bind-value="ItemEnEdicion.IDDISCAPACIDAD" /></div>
<div class="col-md-6 mb-2"><label class="fw-bold">Movilidad Reducida</label><input type="checkbox" class="form-check" @bind="ItemEnEdicion.MOVILIDADREDUCIDA" /></div>
</div></BodyTemplate><FooterTemplate><Button Color="ButtonColor.Secondary" @onclick="cerrarPopupModificacion">Cerrar</Button><Button Color="ButtonColor.Primary" @onclick="@(() => GestionarDatos(ItemEnEdicion.IDASCENDIENTES == 0))">@(ItemEnEdicion.IDASCENDIENTES == 0 ? "Crear" : "Modificar")</Button></FooterTemplate></Modal>
@code {
[Parameter]
public PERSONAS Persona { get; set; } = new PERSONAS();
private HttpClient cliente = new HttpClient();
[Parameter]
public EventCallback OnPersonaActualizada { get; set; }
private List<ASCENDIENTES> itmList = new List<ASCENDIENTES>();
private Modal popupGestionDatos = default!;
private ASCENDIENTES ItemEnEdicion { get; set; } = new();
protected override async Task OnInitializedAsync()
{
cliente = Utilidades.ObtenerCliente(UserState.Token, HttpClientFactory);
try
{
var listnom = Persona.ASCENDIENTES;
}
catch (Exception e)
{
Console.WriteLine($"Error al obtener los datos: {e.Message}");
}
}
protected override void OnParametersSet()
{
itmList = Persona.ASCENDIENTES?.ToList() ?? new List<ASCENDIENTES>();
}
private async Task abrirPopupModificacion(ASCENDIENTES objeto, bool esNuevo) { ItemEnEdicion = objeto; if (esNuevo) ItemEnEdicion.IDPERSONA = Persona.IDPERSONA; await popupGestionDatos.ShowAsync(); }
private async Task cerrarPopupModificacion() => await popupGestionDatos.HideAsync();
private async Task GestionarDatos(bool esNuevo) { if (esNuevo) { ItemEnEdicion.IDASCENDIENTES = 0; ItemEnEdicion.IDPERSONA = Persona.IDPERSONA; await Utilidades.NuevoObjeto(cliente, "/api/ASCENDIENTES/", ItemEnEdicion); } else await Utilidades.ActualizarObjeto(cliente, "/api/ASCENDIENTES/" + ItemEnEdicion.IDASCENDIENTES, ItemEnEdicion); await cerrarPopupModificacion(); await OnPersonaActualizada.InvokeAsync(); }
}