278 lines
11 KiB
Plaintext
278 lines
11 KiB
Plaintext
@using bdHerramientaCACOA.HerramientaURBAN
|
|
@using bdHerramientaCACOA.HerramientaUrban
|
|
@using bdHerramientaCACOA.db
|
|
@using static bdHerramientaCACOA.HerramientaURBAN.URBAN
|
|
|
|
|
|
|
|
|
|
<div class="row">
|
|
<div class="col-6 formatoCampos pt-2">
|
|
<label class="tituloLbl">Tipo de Documento:</label>
|
|
<InputSelect @bind-Value="@itemSeleccionado.idTipoDocumentacion" class="inputForm" @oninput="e => ValidarYActualizar(e, nameof(itemSeleccionado.idTipoDocumentacion))">
|
|
@foreach (var grupoTipologia in objetoURBAN.Enumerados.TiposDeDocumentos)
|
|
{
|
|
<option value="@grupoTipologia.idEnumeracion">@grupoTipologia.ValorAlfabetico1</option>
|
|
}
|
|
</InputSelect>
|
|
</div>
|
|
<div class="col-6 formatoCampos pt-2">
|
|
<label class="tituloLbl">Documento:</label>
|
|
<InputSelect @bind-Value="@itemSeleccionado.idTipoProyecto" class="inputForm" @oninput="e => ValidarYActualizar(e, nameof(itemSeleccionado.idTipoProyecto))">
|
|
@foreach (var tipoProy in tipoProyectoAux)
|
|
{
|
|
<option value="@tipoProy.idtipoproyectos">@tipoProy.Descripcion</option>
|
|
}
|
|
</InputSelect>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row mt-3">
|
|
<div class="col-md-4">
|
|
<label class="tituloLbl">
|
|
@if (!string.IsNullOrEmpty(objetoURBAN.Enumerados.PuntosInformacion.FirstOrDefault(x => x.idPuntosInformacion == 46).Descripcion))
|
|
{
|
|
@UtilidadesCASA.CreateTooltip(objetoURBAN.Enumerados.PuntosInformacion.First(x => x.idPuntosInformacion == 46).Descripcion)
|
|
}
|
|
Documentación Mínima:</label>
|
|
<Grid TItem="URBAN.DocumentacionURBAN"
|
|
Class="tablaCACOA table"
|
|
Data="objetoURBAN.TrabajoProfesional.DocumentacionMinima"
|
|
AllowFiltering="false"
|
|
PageSize="10"
|
|
Height="100"
|
|
EmptyText="No hay registros."
|
|
PageSizeSelectorVisible="false"
|
|
Responsive="true">
|
|
|
|
<GridColumns>
|
|
<GridColumn TItem="URBAN.DocumentacionURBAN" HeaderTextAlignment="Alignment.Center" HeaderText="Descripción" PropertyName="Documentacion">
|
|
@context.Descripcion
|
|
</GridColumn>
|
|
</GridColumns>
|
|
</Grid>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<label class="tituloLbl">
|
|
@if (!string.IsNullOrEmpty(objetoURBAN.Enumerados.PuntosInformacion.FirstOrDefault(x => x.idPuntosInformacion == 63).Descripcion))
|
|
{
|
|
@UtilidadesCASA.CreateTooltip(objetoURBAN.Enumerados.PuntosInformacion.First(x => x.idPuntosInformacion == 63).Descripcion)
|
|
}
|
|
Documentación Opcional:</label>
|
|
<Grid TItem="URBAN.DocumentacionURBAN"
|
|
Class="tablaCACOA table"
|
|
Data="objetoURBAN.TrabajoProfesional.DocumentacionOpcional"
|
|
AllowFiltering="false"
|
|
PageSize="10"
|
|
Height="100"
|
|
EmptyText="No hay registros."
|
|
PageSizeSelectorVisible="false"
|
|
Responsive="true">
|
|
|
|
<GridColumns>
|
|
<GridColumn TItem="URBAN.DocumentacionURBAN" HeaderTextAlignment="Alignment.Center" HeaderText="Descripción" PropertyName="Documencación" Class="colorA">
|
|
@context.Descripcion
|
|
</GridColumn>
|
|
<GridColumn TItem="URBAN.DocumentacionURBAN" HeaderTextAlignment="Alignment.Center" HeaderText="Añadida">
|
|
<div class="d-flex justify-content-center checkTabla">
|
|
<CheckboxInput Class="align-content-center checkGordo" Value=@context.Checkeada TValue="double" ValueExpression="() => context.Checkeada" ValueChanged="(value) => opcionalCambiado(value,context)"></CheckboxInput>
|
|
</div>
|
|
</GridColumn>
|
|
</GridColumns>
|
|
|
|
</Grid>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<label class="tituloLbl">
|
|
@if (!string.IsNullOrEmpty(objetoURBAN.Enumerados.PuntosInformacion.FirstOrDefault(x => x.idPuntosInformacion == 47).Descripcion))
|
|
{
|
|
@UtilidadesCASA.CreateTooltip(objetoURBAN.Enumerados.PuntosInformacion.First(x => x.idPuntosInformacion == 47).Descripcion)
|
|
}
|
|
Datos Necesarios:</label>
|
|
<Grid TItem="URBAN.DocumentacionURBAN"
|
|
Class="tablaCACOA table"
|
|
Data="objetoURBAN.TrabajoProfesional.DatosNecesarios"
|
|
AllowFiltering="false"
|
|
PageSize="10"
|
|
Height="100"
|
|
EmptyText="No hay registros."
|
|
PageSizeSelectorVisible="false"
|
|
Responsive="true">
|
|
<GridColumns>
|
|
<GridColumn TItem="URBAN.DocumentacionURBAN" HeaderTextAlignment="Alignment.Center" HeaderText="Descripción" PropertyName="Documencación" Class="colorA">
|
|
@context.Descripcion
|
|
</GridColumn>
|
|
<GridColumn TItem="URBAN.DocumentacionURBAN" HeaderTextAlignment="Alignment.Center" HeaderText="Valor">
|
|
@if (context.esCheckbox)
|
|
{
|
|
<div class="d-flex justify-content-center checkTabla">
|
|
<CheckboxInput Class="align-content-center checkGordo" Value=@context.Checkeada TValue="double" ValueExpression="() => context.Checkeada" ValueChanged="(value) => DatoNecesarioCheckeado(value,context)"></CheckboxInput>
|
|
</div>
|
|
}
|
|
else
|
|
{
|
|
<div class="d-flex">
|
|
<InputNumber Min="0" class="inputForm inputTabla tdAlineadoDerecha pe-0 me-1" Value=@context.ValorNecesario TValue="double" ValueExpression="() => context.ValorNecesario" ValueChanged="(value) => DatoNecesarioCambiado(value,context)"></InputNumber>
|
|
</div>
|
|
}
|
|
</GridColumn>
|
|
</GridColumns>
|
|
</Grid>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
@code {
|
|
[Parameter]
|
|
public URBAN objetoURBAN { get; set; } = new URBAN();
|
|
private List<tipoproyectosURBAN> tipoProyectoAux = new List<tipoproyectosURBAN>();
|
|
|
|
|
|
private URBANTrabajoProfesional itemSeleccionado = new URBANTrabajoProfesional();
|
|
|
|
private string tituloPopup = "";
|
|
private Modal popupGestionDatos = default!;
|
|
private Modal popupConfirmarBorrado = default!;
|
|
|
|
private string tituloInfo = "";
|
|
|
|
private bool nuevoElemento;
|
|
|
|
|
|
List<ToastMessage> mensajes = new List<ToastMessage>();
|
|
|
|
[CascadingParameter]
|
|
public TrabProfUrban _Parent { get; set; }
|
|
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
if (objetoURBAN.TrabajoProfesional.idTipoDocumentacion != 0)
|
|
{
|
|
itemSeleccionado.idTipoProyecto = objetoURBAN.TrabajoProfesional.idTipoProyecto;
|
|
itemSeleccionado.idTipoDocumentacion = objetoURBAN.TrabajoProfesional.idTipoDocumentacion;
|
|
cambiarSelectDocumentos();
|
|
|
|
// cambiarListasDocumentacion();
|
|
objetoURBAN.ObtenerHoraTipoDocumento();
|
|
itemSeleccionado.idInstrumento = objetoURBAN.TrabajoProfesional.idInstrumento;
|
|
}
|
|
}
|
|
|
|
private void ValidarYActualizar(ChangeEventArgs e, string fieldName)
|
|
{
|
|
var value = e.Value?.ToString();
|
|
var field = new FieldIdentifier(itemSeleccionado, fieldName);
|
|
|
|
switch (fieldName)
|
|
{
|
|
case nameof(itemSeleccionado.idTipoDocumentacion):
|
|
|
|
if (!string.IsNullOrEmpty(value))
|
|
{
|
|
|
|
itemSeleccionado.idTipoDocumentacion = int.Parse(value);
|
|
objetoURBAN.TrabajoProfesional.idTipoDocumentacion = itemSeleccionado.idTipoDocumentacion;
|
|
cambiarSelectDocumentos();
|
|
cambiarListasDocumentacion();
|
|
|
|
calcularHoraTrabajo();
|
|
}
|
|
else
|
|
{
|
|
itemSeleccionado.idTipoDocumentacion = 0;
|
|
objetoURBAN.TrabajoProfesional.idTipoDocumentacion = itemSeleccionado.idTipoDocumentacion;
|
|
}
|
|
|
|
break;
|
|
case nameof(itemSeleccionado.idTipoProyecto):
|
|
|
|
if (!string.IsNullOrEmpty(value))
|
|
{
|
|
|
|
itemSeleccionado.idTipoProyecto = int.Parse(value);
|
|
objetoURBAN.TrabajoProfesional.idTipoProyecto = itemSeleccionado.idTipoProyecto;
|
|
cambiarListasDocumentacion();
|
|
calcularHoraTrabajo();
|
|
}
|
|
else
|
|
{
|
|
itemSeleccionado.idTipoProyecto = 0;
|
|
objetoURBAN.TrabajoProfesional.idTipoProyecto = itemSeleccionado.idTipoProyecto;
|
|
}
|
|
|
|
break;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
private void calcularHoraTrabajo()
|
|
{
|
|
|
|
foreach (var datos in objetoURBAN.TrabajoProfesional.DatosNecesarios.ToList())
|
|
{
|
|
objetoURBAN.ActualizarDatoNecesario(datos);
|
|
}
|
|
|
|
_Parent.RefreshState();
|
|
}
|
|
|
|
private async Task cambiarSelectDocumentos()
|
|
{
|
|
tipoProyectoAux = objetoURBAN.Enumerados.ProyectosPorTipo(itemSeleccionado.idTipoDocumentacion);
|
|
|
|
if (itemSeleccionado.idTipoProyecto == 0)
|
|
{
|
|
objetoURBAN.TrabajoProfesional.idTipoProyecto = tipoProyectoAux.First().idtipoproyectos;
|
|
}
|
|
else
|
|
{
|
|
if (tipoProyectoAux.Any(x => x.idtipoproyectos == itemSeleccionado.idTipoProyecto))
|
|
{
|
|
objetoURBAN.TrabajoProfesional.idTipoProyecto = itemSeleccionado.idTipoProyecto;
|
|
}
|
|
else
|
|
{
|
|
objetoURBAN.TrabajoProfesional.idTipoProyecto = tipoProyectoAux.First().idtipoproyectos;
|
|
}
|
|
}
|
|
|
|
|
|
await InvokeAsync(StateHasChanged);
|
|
_Parent.RefreshState();
|
|
}
|
|
private async Task cambiarListasDocumentacion()
|
|
{
|
|
objetoURBAN.TrabajoProfesional.DocumentacionMinima = objetoURBAN.DocumentacionMinima(objetoURBAN.TrabajoProfesional.idTipoProyecto);
|
|
objetoURBAN.TrabajoProfesional.DocumentacionOpcional = objetoURBAN.DocumentacionOpcional(objetoURBAN.TrabajoProfesional.idTipoProyecto);
|
|
objetoURBAN.TrabajoProfesional.DatosNecesarios = objetoURBAN.DatosNecesarios(objetoURBAN.TrabajoProfesional.idTipoProyecto);
|
|
objetoURBAN.ObtenerHoraTipoDocumento();
|
|
//await InvokeAsync(StateHasChanged);
|
|
}
|
|
|
|
private async void opcionalCambiado(bool e, URBAN.DocumentacionURBAN objeto)
|
|
{
|
|
|
|
objeto.Checkeada = e;
|
|
objetoURBAN.ActualizarDocumentacionOpcional(objeto);
|
|
await InvokeAsync(StateHasChanged);
|
|
_Parent.RefreshState();
|
|
}
|
|
private async void DatoNecesarioCheckeado(bool e, URBAN.DocumentacionURBAN objeto)
|
|
{
|
|
objeto.Checkeada = e;
|
|
objetoURBAN.ActualizarDatoNecesario(objeto);
|
|
await InvokeAsync(StateHasChanged);
|
|
_Parent.RefreshState();
|
|
}
|
|
private async void DatoNecesarioCambiado(double e, URBAN.DocumentacionURBAN objeto)
|
|
{
|
|
objeto.ValorNecesario = (double)e;
|
|
objetoURBAN.ActualizarDatoNecesario(objeto);
|
|
|
|
await InvokeAsync(StateHasChanged);
|
|
_Parent.RefreshState();
|
|
}
|
|
} |