< Summary

Information
Class: FAU.Logica.DTOs.AscensoRequest
Assembly: FAU.Logica
File(s): /home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.Logica/DTOs/PersonalDetalleDto.cs
Line coverage
100%
Covered lines: 5
Uncovered lines: 0
Coverable lines: 5
Total lines: 94
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_NuevoGradoId()100%11100%
get_FechaAscenso()100%11100%
get_Observacion()100%11100%
get_UnidadId()100%11100%
get_LeyId()100%11100%

File(s)

/home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.Logica/DTOs/PersonalDetalleDto.cs

#LineLine coverage
 1namespace FAU.Logica.DTOs;
 2
 3/// <summary>
 4/// DTO detallado para consulta individual de personal
 5/// </summary>
 6public class PersonalDetalleDto
 7{
 8    public long Id { get; set; }
 9    public DatosPersonalesDto DatosPersonales { get; set; } = new();
 10    public DatosLaboralesDto DatosLaborales { get; set; } = new();
 11    public List<HistorialMovimientoDto> Historial { get; set; } = new();
 12}
 13
 14public class DatosPersonalesDto
 15{
 16    public long PersonaId { get; set; }
 17    public string Ci { get; set; } = string.Empty;
 18    public string PrimerNombre { get; set; } = string.Empty;
 19    public string? SegundoNombre { get; set; }
 20    public string PrimerApellido { get; set; } = string.Empty;
 21    public string? SegundoApellido { get; set; }
 22    public DateTime? FechaNacimiento { get; set; }
 23    public string? Email { get; set; }
 24    public string? Telefono { get; set; }
 25    public string? Direccion { get; set; }
 26}
 27
 28public class DatosLaboralesDto
 29{
 30    public long RelacionLaboralId { get; set; }
 31    public string Estado { get; set; } = string.Empty;
 32    public DateTime FechaInicio { get; set; }
 33    public DateTime? FechaFin { get; set; }
 34
 35    public long RegimenId { get; set; }
 36    public string Regimen { get; set; } = string.Empty;
 37    public string Ley { get; set; } = string.Empty;
 38
 39    public long EscalafonId { get; set; }
 40    public string Escalafon { get; set; } = string.Empty;
 41
 42    public long GradoId { get; set; }
 43    public string Grado { get; set; } = string.Empty;
 44    public string Cargo { get; set; } = string.Empty;
 45
 46    public long SituacionId { get; set; }
 47    public string Situacion { get; set; } = string.Empty;
 48
 49    public long ProgramaId { get; set; }
 50    public string Programa { get; set; } = string.Empty;
 51
 52    public long UnidadId { get; set; }
 53    public string Unidad { get; set; } = string.Empty;
 54
 55    public long? CompaniaId { get; set; }
 56    public string? Compania { get; set; }
 57
 58    public decimal? RiesgoVuelo { get; set; }
 59    public string? PrimaTecnica { get; set; }
 60    public string? PrimaSolidariaFamiliar { get; set; }
 61    public int? AniosInactivos { get; set; }
 62    public string? Observaciones { get; set; }
 63}
 64
 65public class HistorialMovimientoDto
 66{
 67    public long Id { get; set; }
 68    public string TipoMovimiento { get; set; } = string.Empty;
 69    public bool EsAlta { get; set; }
 70    public DateTime FechaMovimiento { get; set; }
 71    public string? Observaciones { get; set; }
 72    public string RegistradoPor { get; set; } = string.Empty;
 73    public DateTime FechaRegistro { get; set; }
 74}
 75
 76public class AscensoRequest
 77{
 78    [System.ComponentModel.DataAnnotations.Required(ErrorMessage = "El nuevo grado es requerido")]
 1679    public long NuevoGradoId { get; set; }
 80
 81    [System.ComponentModel.DataAnnotations.Required(ErrorMessage = "La fecha de ascenso es requerida")]
 1482    public DateTime FechaAscenso { get; set; }
 83
 84    // Razón del ascenso que se guardará en auditoría
 85    [System.ComponentModel.DataAnnotations.MaxLength(500)]
 286    public string? Observacion { get; set; }
 87
 88    // Unidad a la que se asigna tras el ascenso
 589    public long? UnidadId { get; set; }
 90
 91    // Ley/régimen asociado al ascenso
 1092    public long? LeyId { get; set; }
 93}
 94