@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="col-md-10" style="margin-inline:auto;"> 
  
    <p class="tituloCaja">Permisos</p>
    <div class="row mb-3" style=" padding: 20px;border:solid 1px grey">       
        <div class="col-md-4 d-flex divLabelInp">
            <label for="chbsupTodo" class="fw-bold widthLabel">Supervisor de todo: </label>
            <input class="form-control" disabled id="chbsubTodo" @bind-value="@Persona.SUPERVISORDETODO" />
        </div>
        <div class="col-md-4 d-flex divLabelInp">
            <label for="chbAdmCH" class="fw-bold widthLabel">Administrador Control Horario: </label>
            <input class="form-control" disabled id="chbAdmCH" @bind-value="@Persona.ADMINISTRADORCONTROLHORARIO" />
        </div>
        <div class="col-md-4 d-flex divLabelInp">
            <label for="chbDelP" class="fw-bold widthLabel">Delegado Permisos: </label>
            <input class="form-control" disabled id="chbDelP" @bind-value="@Persona.DELEGADOINFORMES" />
        </div>
        <div class="col-md-4 d-flex divLabelInp">
            <label for="chbSupDep" class="fw-bold widthLabel">Supervisor Departamento: </label>
            <input class="form-control" disabled id="chbSupDep" @bind-value="@Persona.SUPERVISORDEPARTAMENTO" />
        </div>
        <div class="col-md-4 d-flex divLabelInp">
            <label for="chbAdmTot" class="fw-bold widthLabel">Administrador Total: </label>
            <input class="form-control" disabled id="chbAdmTot" @bind-value="@Persona.ADMINISTRADORTOTAL" />
        </div>
        <div class="col-md-4 d-flex divLabelInp">
            <label for="chbDel" class="fw-bold widthLabel">Delegado: </label>
            <input class="form-control" disabled id="chbDel" @bind-value="@Persona.DELEGADO" />
        </div>
        <div class="col-md-4 d-flex divLabelInp">
            <label for="chbAdmRPT" class="fw-bold widthLabel">Administrador RPT y Registro: </label>
            <input class="form-control" disabled id="chbAdmRPT" @bind-value="@Persona.ADMINISTRARPTYREGISTRO" />
        </div>
    </div>

    <p class="tituloCaja">Excepciones permisos</p>
    <div class="row mb-3" style=" padding: 20px;border:solid 1px grey">
     <div style="overflow-x:auto;" class="tablaDesk">
     <Grid TItem="EXCEPCIONESPERMISOS"
           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="EXCEPCIONESPERMISOS" HeaderText="Departamento">
                        @context.IDDEPARTAMENTONavigation.DESCRIPCION
                    </GridColumn>
                    <GridColumn TItem="EXCEPCIONESPERMISOS" HeaderText="Persona Permiso">
                        @context.IDPERSONAPERMISONavigation.APELLIDOSNOMBRE
                    </GridColumn>
                    <GridColumn TItem="EXCEPCIONESPERMISOS" HeaderText="Supervisor de Todo">
                        @context.SUPERVISORDETODO
                    </GridColumn>
                    <GridColumn TItem="EXCEPCIONESPERMISOS" HeaderText="Supervisor Departamento">
                        @context.SUPERVISORDEPARTAMENTO
                    </GridColumn>
                    <GridColumn TItem="EXCEPCIONESPERMISOS" HeaderText="Delegado">
                        @context.DELEGADO
                    </GridColumn>
                    <GridColumn TItem="EXCEPCIONESPERMISOS" HeaderText="Administrador Control Horario">
                        @context.ADMINISTRADORCONTROLHORARIO
                    </GridColumn>
                    <GridColumn TItem="EXCEPCIONESPERMISOS" HeaderText="Administrador total">
                        @context.ADMINISTRADORTOTAL
                    </GridColumn>
                    <GridColumn TItem="EXCEPCIONESPERMISOS" HeaderText="Administrar RPT y Registro">
                        @context.ADMINISTRARPTYREGISTRO
                    </GridColumn>
                    <GridColumn TItem="EXCEPCIONESPERMISOS" HeaderText="Delegado Permisos">
                        @context.DELEGADOINFORMES
                    </GridColumn>
                </GridColumns>
            </Grid>

 </div>
    </div>

</div>

@code {
    [Parameter]
    public PERSONAS Persona { get; set; } = new PERSONAS();
    private HttpClient cliente = new HttpClient();
    [Parameter]
    public EventCallback OnPersonaActualizada { get; set; }
    private List<EXCEPCIONESPERMISOS> itmList = new List<EXCEPCIONESPERMISOS>();
  protected override async Task OnInitializedAsync()
  {
      try
      {
            var listnom = Persona.EXCEPCIONESPERMISOSIDPERSONANavigation;
            foreach (EXCEPCIONESPERMISOS i in listnom) { itmList.Add(i); }
      }
      catch (Exception e)
      {
          Console.WriteLine($"Error al obtener los datos: {e.Message}");
      }
  }


}
