.
This commit is contained in:
@@ -536,6 +536,8 @@
|
||||
</Tab>
|
||||
<Tab Title="Periodos SILTRA" Name="tabSiltra">
|
||||
<Content>
|
||||
<input type="button" value="Nuevo Periodo SILTRA" class="btnOAAFAzul mt-2" onclick='location.replace("@HashRed("0")")' />
|
||||
|
||||
<div>
|
||||
<Grid TItem="PERIODOSSILTRA"
|
||||
Class="table tablaRegPers"
|
||||
@@ -702,10 +704,22 @@
|
||||
}
|
||||
private string HashRed(string id)
|
||||
{
|
||||
string idper = Persona.IDPERSONA.ToString();
|
||||
string idNom = Nomina.IDNOMINATRABAJADOR.ToString();
|
||||
string link = "/PeriodoSiltra?cl=" + tsUtilidades.crypt.FEncS(
|
||||
id,
|
||||
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*",
|
||||
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*",
|
||||
875421649) + "&idp=" +
|
||||
tsUtilidades.crypt.FEncS(
|
||||
idper,
|
||||
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*",
|
||||
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*",
|
||||
875421649) + "&idn=" +
|
||||
tsUtilidades.crypt.FEncS(
|
||||
idNom,
|
||||
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*",
|
||||
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*",
|
||||
875421649);
|
||||
return link;
|
||||
}
|
||||
|
||||
@@ -21,7 +21,9 @@
|
||||
<div class="Cabecera">
|
||||
<h6><small><i class="fas fa-user"></i><b> Periodo Siltra</b></small></h6>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input type="button" @onclick="GuardarPeriodoSILTRA" class="btnOAAFAzul mb-2" value="Guardar" />
|
||||
</div>
|
||||
@if (PeriodoSiltra == null)
|
||||
{
|
||||
<div id="cargando" class="loadingFrame">
|
||||
@@ -30,22 +32,24 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="row" style="border:solid 1px black; padding:10px">
|
||||
<div class="row" style="border:solid 1px black; padding:10px">
|
||||
<div class="col-md-2">
|
||||
<label for="txtNIF" class="fw-bold widthLabel li-height50">Fecha inicio: </label>
|
||||
<input class="form-control" type="date" @bind-value="@PeriodoSiltra.FECHAINICIO" />
|
||||
<label for="txtNIF" class="fw-bold widthLabel li-height50">Fecha inicio <span style="color:red">*</span>: </label>
|
||||
<input class="form-control" type="date" @bind-value="@PeriodoSiltra.FECHAINICIO"
|
||||
@onblur="e => ValidarYActualizar(nameof(PeriodoSiltra.FECHAINICIO))" />
|
||||
<div class="validation-message">@GetExternalValidationMessage(nameof(PeriodoSiltra.FECHAINICIO))</div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<label for="txtNIF" class="fw-bold widthLabel li-height50">Fecha fin: </label>
|
||||
<label for="txtNIF" class="fw-bold widthLabel li-height50">Fecha fin <span style="color:red">*</span>: </label>
|
||||
<input class="form-control" type="date" @bind-value="@PeriodoSiltra.FECHAFIN" />
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<label for="txtNIF" class="fw-bold widthLabel li-height50">Días: </label>
|
||||
<label for="txtNIF" class="fw-bold widthLabel li-height50">Días <span style="color:red">*</span>: </label>
|
||||
<input class="form-control" @bind-value="@PeriodoSiltra.DIAS" />
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<label for="txtsexo" class="fw-bold widthLabel li-height50">Cuenta cotización: </label>
|
||||
<label for="txtsexo" class="fw-bold widthLabel li-height50">Cuenta cotización <span style="color:red">*</span>: </label>
|
||||
<InputSelect @bind-Value="PeriodoSiltra.IDCUENTACOTIZACIONPATRONAL" class="form-select">
|
||||
<option value="">Seleccionar</option>
|
||||
@if (lCuentaCoti != null)
|
||||
@@ -59,10 +63,10 @@
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<label for="txtsexo" class="fw-bold widthLabel li-height50">Tipo liquidación: </label>
|
||||
<label for="txtsexo" class="fw-bold widthLabel li-height50">Tipo liquidación <span style="color:red">*</span>: </label>
|
||||
<InputSelect @bind-Value="PeriodoSiltra.IDTIPOLIQUIDACION" class="form-select">
|
||||
<option value="">Seleccionar</option>
|
||||
@if (lTipLiq != null)
|
||||
@if (lTipLiq != null)
|
||||
{
|
||||
@foreach (var enumera in lTipLiq)
|
||||
{
|
||||
@@ -72,15 +76,15 @@
|
||||
</InputSelect>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<label for="txtNIF" class="fw-bold widthLabel li-height50">Ocupación: </label>
|
||||
<label for="txtNIF" class="fw-bold widthLabel li-height50">Ocupación <span style="color:red">*</span>: </label>
|
||||
<input class="form-control" @bind-value="@PeriodoSiltra.OCUPACION" />
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<label for="txtNIF" class="fw-bold widthLabel li-height50">CNAE: </label>
|
||||
<label for="txtNIF" class="fw-bold widthLabel li-height50">CNAE <span style="color:red">*</span>: </label>
|
||||
<input class="form-control" @bind-value="@PeriodoSiltra.CNAE" />
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<label for="txtNIF" class="fw-bold widthLabel li-height50">Grupo Tarifa: </label>
|
||||
<label for="txtNIF" class="fw-bold widthLabel li-height50">Grupo Tarifa <span style="color:red">*</span>: </label>
|
||||
<input class="form-control" @bind-value="@PeriodoSiltra.GRUPOTARIFA" />
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
@@ -97,10 +101,10 @@
|
||||
</InputSelect>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<label for="txtNIF" class="fw-bold widthLabel li-height50">Tipo periodo tramo: </label>
|
||||
<label for="txtNIF" class="fw-bold widthLabel li-height50">Tipo periodo tramo <span style="color:red">*</span>: </label>
|
||||
<InputSelect @bind-Value="PeriodoSiltra.IDTIPOPERIODOTRAMO" class="form-select">
|
||||
<option value="">Seleccionar</option>
|
||||
@if (lTipPeriodo != null)
|
||||
@if (lTipPeriodo != null)
|
||||
{
|
||||
@foreach (var enumera in lTipPeriodo)
|
||||
{
|
||||
@@ -110,7 +114,7 @@
|
||||
</InputSelect>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<label for="txtNIF" class="fw-bold widthLabel li-height50">Reducción jornada: </label>
|
||||
<label for="txtNIF" class="fw-bold widthLabel li-height50">Reducción jornada <span style="color:red">*</span>: </label>
|
||||
<input class="form-control" @bind-value="@PeriodoSiltra.REDUCCIONJORNADA" />
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
@@ -121,77 +125,140 @@
|
||||
<label for="txtNIF" class="fw-bold widthLabel li-height50">Importe IRPF: </label>
|
||||
<input class="form-control" @bind-value="@PeriodoSiltra.IMPORTEIRPF" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-2">
|
||||
<div style="overflow-x:auto;" class="tablaDesk">
|
||||
<Grid TItem="TRAMOSSILTRA"
|
||||
Class="table tablaRegPers"
|
||||
Data="@lTraSil"
|
||||
AllowFiltering="false"
|
||||
AllowPaging="false"
|
||||
AllowSorting="true"
|
||||
EmptyText="No se han encontrado datos"
|
||||
Height="80"
|
||||
PageSizeSelectorVisible="false"
|
||||
Responsive="true"
|
||||
PaginationItemsTextFormat="{0} - {1} de {2} elementos">
|
||||
<GridColumns>
|
||||
<GridColumn TItem="TRAMOSSILTRA" HeaderText="Tipo tramo" PropertyName="IDTIPOTRAMONavigation?.DESCRIPCION" FilterButtonCSSClass="hidden" SortKeySelector="item => item.IDTIPOTRAMONavigation.DESCRIPCION">
|
||||
</div>
|
||||
@if (idDesencriptado != "0")
|
||||
{
|
||||
<div class="mt-2">
|
||||
<input type="button" value="nuevo tramo" class="btnOAAFAzul mb-2 mt-2" />
|
||||
<div style="overflow-x:auto;" class="tablaDesk">
|
||||
<Grid TItem="TRAMOSSILTRA"
|
||||
Class="table tablaRegPers"
|
||||
Data="@lTraSil"
|
||||
AllowFiltering="false"
|
||||
AllowPaging="false"
|
||||
AllowSorting="true"
|
||||
EmptyText="No se han encontrado datos"
|
||||
Height="80"
|
||||
PageSizeSelectorVisible="false"
|
||||
Responsive="true"
|
||||
PaginationItemsTextFormat="{0} - {1} de {2} elementos">
|
||||
<GridColumns>
|
||||
<GridColumn TItem="TRAMOSSILTRA" HeaderText="Tipo tramo" PropertyName="IDTIPOTRAMONavigation?.DESCRIPCION" FilterButtonCSSClass="hidden" SortKeySelector="item => item.IDTIPOTRAMONavigation.DESCRIPCION">
|
||||
|
||||
@if (context.IDTIPOTRAMONavigation.MODIFICABLE == false && context.IDTIPOTRAMONavigation.SOLICITADOALUSUARIO == false)
|
||||
{
|
||||
<p style="color:red; font-weight:bold"> @context.IDTIPOTRAMONavigation?.CODIGO - @context.IDTIPOTRAMONavigation?.DESCRIPCION </p>
|
||||
}
|
||||
@if (context.IDTIPOTRAMONavigation.SOLICITADOALUSUARIO == true && context.IDTIPOTRAMONavigation.MODIFICABLE == true)
|
||||
{
|
||||
<p style="color:blue; font-weight:bold"> @context.IDTIPOTRAMONavigation?.CODIGO - @context.IDTIPOTRAMONavigation?.DESCRIPCION </p>
|
||||
}
|
||||
@if (context.IDTIPOTRAMONavigation.SOLICITADOALUSUARIO == false && context.IDTIPOTRAMONavigation.MODIFICABLE == true)
|
||||
{
|
||||
<p> @context.IDTIPOTRAMONavigation?.CODIGO - @context.IDTIPOTRAMONavigation?.DESCRIPCION </p>
|
||||
}
|
||||
</GridColumn>
|
||||
<GridColumn TItem="TRAMOSSILTRA" HeaderText="Importe" PropertyName="IMPORTE" FilterButtonCSSClass="hidden" SortKeySelector="item => item.IMPORTE">
|
||||
@context.IMPORTE
|
||||
</GridColumn>
|
||||
<GridColumn TItem="TRAMOSSILTRA" HeaderText="% Empresa" PropertyName="PORCENTAJEEMPRESA" FilterButtonCSSClass="hidden" SortKeySelector="item => item.PORCENTAJEEMPRESA">
|
||||
@context.PORCENTAJEEMPRESA
|
||||
</GridColumn>
|
||||
<GridColumn TItem="TRAMOSSILTRA" HeaderText="Importe empresa" PropertyName="IMPORTEEMPRESA" FilterButtonCSSClass="hidden" SortKeySelector="item => item.IMPORTEEMPRESA">
|
||||
@context.IMPORTEEMPRESA
|
||||
</GridColumn>
|
||||
<GridColumn TItem="TRAMOSSILTRA" HeaderText="Importe empresa" PropertyName="PORCENTAJETRABAJADOR" FilterButtonCSSClass="hidden" SortKeySelector="item => item.PORCENTAJETRABAJADOR">
|
||||
@context.PORCENTAJETRABAJADOR
|
||||
</GridColumn>
|
||||
<GridColumn TItem="TRAMOSSILTRA" HeaderText="Importe empresa" PropertyName="IMPORTETRABAJADOR" FilterButtonCSSClass="hidden" SortKeySelector="item => item.IMPORTETRABAJADOR">
|
||||
@context.IMPORTETRABAJADOR
|
||||
</GridColumn>
|
||||
<GridColumn TItem="TRAMOSSILTRA" HeaderText="Importe empresa" PropertyName="IMPORTEGLOBAL" FilterButtonCSSClass="hidden" SortKeySelector="item => item.IMPORTEGLOBAL">
|
||||
@context.IMPORTEGLOBAL
|
||||
</GridColumn>
|
||||
<GridColumn TItem="TRAMOSSILTRA" HeaderText="Importe empresa" PropertyName="DESCRIPCIONTRAMOXML" FilterButtonCSSClass="hidden" SortKeySelector="item => item.IDTIPOTRAMONavigation.IDTIPOTRAMOFICHEROXMLNavigation.DESCRIPCION">
|
||||
@context.IDTIPOTRAMONavigation.IDTIPOTRAMOFICHEROXMLNavigation.DESCRIPCION
|
||||
</GridColumn>
|
||||
</GridColumns>
|
||||
</Grid>
|
||||
</div>
|
||||
|
||||
@if (context.IDTIPOTRAMONavigation.MODIFICABLE == false && context.IDTIPOTRAMONavigation.SOLICITADOALUSUARIO == false)
|
||||
{
|
||||
<p style="color:red; font-weight:bold"> @context.IDTIPOTRAMONavigation?.CODIGO - @context.IDTIPOTRAMONavigation?.DESCRIPCION </p>
|
||||
}
|
||||
@if (context.IDTIPOTRAMONavigation.SOLICITADOALUSUARIO == true && context.IDTIPOTRAMONavigation.MODIFICABLE == true)
|
||||
{
|
||||
<p style="color:blue; font-weight:bold"> @context.IDTIPOTRAMONavigation?.CODIGO - @context.IDTIPOTRAMONavigation?.DESCRIPCION </p>
|
||||
}
|
||||
@if (context.IDTIPOTRAMONavigation.SOLICITADOALUSUARIO == false && context.IDTIPOTRAMONavigation.MODIFICABLE == true)
|
||||
{
|
||||
<p> @context.IDTIPOTRAMONavigation?.CODIGO - @context.IDTIPOTRAMONavigation?.DESCRIPCION </p>
|
||||
}
|
||||
</GridColumn>
|
||||
<GridColumn TItem="TRAMOSSILTRA" HeaderText="Importe" PropertyName="IMPORTE" FilterButtonCSSClass="hidden" SortKeySelector="item => item.IMPORTE">
|
||||
@context.IMPORTE
|
||||
</GridColumn>
|
||||
<GridColumn TItem="TRAMOSSILTRA" HeaderText="% Empresa" PropertyName="PORCENTAJEEMPRESA" FilterButtonCSSClass="hidden" SortKeySelector="item => item.PORCENTAJEEMPRESA">
|
||||
@context.PORCENTAJEEMPRESA
|
||||
</GridColumn>
|
||||
<GridColumn TItem="TRAMOSSILTRA" HeaderText="Importe empresa" PropertyName="IMPORTEEMPRESA" FilterButtonCSSClass="hidden" SortKeySelector="item => item.IMPORTEEMPRESA">
|
||||
@context.IMPORTEEMPRESA
|
||||
</GridColumn>
|
||||
<GridColumn TItem="TRAMOSSILTRA" HeaderText="Importe empresa" PropertyName="PORCENTAJETRABAJADOR" FilterButtonCSSClass="hidden" SortKeySelector="item => item.PORCENTAJETRABAJADOR">
|
||||
@context.PORCENTAJETRABAJADOR
|
||||
</GridColumn>
|
||||
<GridColumn TItem="TRAMOSSILTRA" HeaderText="Importe empresa" PropertyName="IMPORTETRABAJADOR" FilterButtonCSSClass="hidden" SortKeySelector="item => item.IMPORTETRABAJADOR">
|
||||
@context.IMPORTETRABAJADOR
|
||||
</GridColumn>
|
||||
<GridColumn TItem="TRAMOSSILTRA" HeaderText="Importe empresa" PropertyName="IMPORTEGLOBAL" FilterButtonCSSClass="hidden" SortKeySelector="item => item.IMPORTEGLOBAL">
|
||||
@context.IMPORTEGLOBAL
|
||||
</GridColumn>
|
||||
<GridColumn TItem="TRAMOSSILTRA" HeaderText="Importe empresa" PropertyName="DESCRIPCIONTRAMOXML" FilterButtonCSSClass="hidden" SortKeySelector="item => item.IDTIPOTRAMONavigation.IDTIPOTRAMOFICHEROXMLNavigation.DESCRIPCION">
|
||||
@context.IDTIPOTRAMONavigation.IDTIPOTRAMOFICHEROXMLNavigation.DESCRIPCION
|
||||
</GridColumn>
|
||||
</GridColumns>
|
||||
</Grid>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
|
||||
@code {
|
||||
private PERIODOSSILTRA PeriodoSiltra { get; set; }
|
||||
private static PERIODOSSILTRA PeriodoSiltra = new PERIODOSSILTRA();
|
||||
public EventCallback<string> OnValidationStateChanged { get; set; }
|
||||
private List<int> annos = new List<int>();
|
||||
private string cl { get; set; }
|
||||
private string idn { get; set; }
|
||||
private string idDesencriptado { get; set; }
|
||||
private List<CUENTASCOTIZACIONPATRONAL> lCuentaCoti = new List<CUENTASCOTIZACIONPATRONAL>();
|
||||
private List<ENUMERACIONES> lTipLiq = new List<ENUMERACIONES>();
|
||||
private List<ENUMERACIONES> lEstados = new List<ENUMERACIONES>();
|
||||
// private List<TIPOSTRAMOS> lTipPeriodo = new List<TIPOSTRAMOS>();
|
||||
private List<ENUMERACIONES> lTipPeriodo = new List<ENUMERACIONES>();
|
||||
private List<TRAMOSSILTRA> lTraSil = new List<TRAMOSSILTRA>();
|
||||
private EditContext editContext = new EditContext(PeriodoSiltra);
|
||||
private HttpClient cliente = new HttpClient();
|
||||
private ValidationMessageStore? messageStore;
|
||||
private string errorMessage = "";
|
||||
private Modal popupConfirmacion = default!;
|
||||
List<ToastMessage> mensajes = new List<ToastMessage>();
|
||||
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;
|
||||
}
|
||||
idDesencriptado = tsUtilidades.crypt.FEncS(cl,
|
||||
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*",
|
||||
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*",
|
||||
-875421649);
|
||||
if (idDesencriptado != "0")
|
||||
{
|
||||
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<PERIODOSSILTRA>(resultContent) ?? throw new Exception("Error al deserializar los datos del Periodo Siltra.");
|
||||
foreach (var i in PeriodoSiltra.TRAMOSSILTRA)
|
||||
{
|
||||
lTraSil.Add(i);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
string idnSt = "";
|
||||
if (QueryHelpers.ParseQuery(url.Query).TryGetValue("idn", out var idnValue))
|
||||
{
|
||||
idn = idnValue;
|
||||
idnSt = (tsUtilidades.crypt.FEncS(idn,
|
||||
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*",
|
||||
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*",
|
||||
-875421649));
|
||||
}
|
||||
|
||||
|
||||
PeriodoSiltra = new PERIODOSSILTRA();
|
||||
PeriodoSiltra.IDNOMINATRABAJADORCABECERA = Int32.Parse(idnSt);
|
||||
}
|
||||
lTipLiq = await Utilidades.ObtenerObjeto<List<ENUMERACIONES>>(client, "/api/ENUMERACIONES/EnumeracionesGrupo/TIPLIQ");
|
||||
var rlCuentaCoti = await client.GetAsync("/api/CUENTASCOTIZACIONPATRONAL");
|
||||
var rcCuentaCoti = await rlCuentaCoti.Content.ReadAsStringAsync();
|
||||
lCuentaCoti = JsonConvert.DeserializeObject<List<CUENTASCOTIZACIONPATRONAL>>(rcCuentaCoti) ?? throw new Exception("Error al deserializar los datos.");
|
||||
lEstados = await Utilidades.ObtenerObjeto<List<ENUMERACIONES>>(client, "/api/ENUMERACIONES/EnumeracionesGrupo/MUT");
|
||||
lTipPeriodo = await Utilidades.ObtenerObjeto<List<ENUMERACIONES>>(client, "/api/ENUMERACIONES/EnumeracionesGrupo/TIPPERTRAM");
|
||||
}
|
||||
private string _filter = "";
|
||||
public string Filter
|
||||
{
|
||||
@@ -201,15 +268,57 @@
|
||||
if (_filter != value)
|
||||
{
|
||||
_filter = value;
|
||||
// AplicarFiltros();
|
||||
//AplicarFiltros();
|
||||
}
|
||||
}
|
||||
}
|
||||
private async Task GuardarPeriodoSILTRA()
|
||||
{
|
||||
// CerrarConfirmacion();
|
||||
cliente = Utilidades.ObtenerCliente(UserState.Token, HttpClientFactory);
|
||||
// ValidarTodos();
|
||||
if (!editContext.GetValidationMessages().Any())
|
||||
|
||||
{
|
||||
if (PeriodoSiltra.IDPERIODOSILTRA == 0)//Nuevo
|
||||
{
|
||||
|
||||
var response = await Utilidades.NuevoObjeto(cliente, "/api/PERIODOSSILTRA", PeriodoSiltra);
|
||||
string link = "/PeriodoSiltra?cl=" + tsUtilidades.crypt.FEncS(response.IDPERIODOSILTRA.ToString(), "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890.:/-*", 875421649);
|
||||
NavigationManager.NavigateTo(link, forceLoad: true);
|
||||
|
||||
}
|
||||
else//Actualizar
|
||||
{
|
||||
var PeSilGuardar = PeriodoSiltra;
|
||||
var responsea = await Utilidades.ActualizarObjeto(cliente, "/api/PERIODOSSILTRA/" + PeSilGuardar.IDPERIODOSILTRA, PeSilGuardar);
|
||||
var url = NavigationManager.ToAbsoluteUri(NavigationManager.Uri);
|
||||
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,
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
private MarkupString FormatearNombre(string nombre)
|
||||
{
|
||||
if (string.IsNullOrEmpty(nombre))
|
||||
@@ -225,54 +334,27 @@
|
||||
}
|
||||
return new MarkupString(nombre);
|
||||
}
|
||||
protected override async Task OnInitializedAsync()
|
||||
private string GetExternalValidationMessage(string fieldName)
|
||||
{
|
||||
|
||||
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<PERIODOSSILTRA>(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<List<ENUMERACIONES>>(client, "/api/ENUMERACIONES/EnumeracionesGrupo/TIPLIQ");
|
||||
var rlCuentaCoti = await client.GetAsync("/api/CUENTASCOTIZACIONPATRONAL");
|
||||
var rcCuentaCoti = await rlCuentaCoti.Content.ReadAsStringAsync();
|
||||
lCuentaCoti = JsonConvert.DeserializeObject<List<CUENTASCOTIZACIONPATRONAL>>(rcCuentaCoti) ?? throw new Exception("Error al deserializar los datos.");
|
||||
lEstados = await Utilidades.ObtenerObjeto<List<ENUMERACIONES>>(client, "/api/ENUMERACIONES/EnumeracionesGrupo/MUT");
|
||||
lTipPeriodo = await Utilidades.ObtenerObjeto<List<ENUMERACIONES>>(client, "/api/ENUMERACIONES/EnumeracionesGrupo/TIPPERTRAM");
|
||||
|
||||
|
||||
|
||||
var field = new FieldIdentifier(PeriodoSiltra, fieldName);
|
||||
return messageStore?[field].FirstOrDefault() ?? string.Empty;
|
||||
}
|
||||
}
|
||||
private void ValidarYActualizar(string fieldName)
|
||||
{
|
||||
OnValidationStateChanged.InvokeAsync(fieldName);
|
||||
}
|
||||
private void ValidarSelect(ChangeEventArgs e, string fieldName)
|
||||
{
|
||||
if (e?.Value?.ToString() != "")
|
||||
{
|
||||
int value = int.Parse(e?.Value?.ToString()!);
|
||||
PeriodoSiltra?.GetType()?.GetProperty(fieldName)?.SetValue(PeriodoSiltra, value);
|
||||
}
|
||||
else
|
||||
{
|
||||
PeriodoSiltra?.GetType()?.GetProperty(fieldName)?.SetValue(PeriodoSiltra, null);
|
||||
}
|
||||
OnValidationStateChanged.InvokeAsync(fieldName);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user