< Summary

Information
Class: FAU.Logica.DTOs.DatosLaboralesDto
Assembly: FAU.Logica
File(s): /home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.Logica/DTOs/PersonalDetalleDto.cs
Line coverage
100%
Covered lines: 25
Uncovered lines: 0
Coverable lines: 25
Total lines: 98
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_RelacionLaboralId()100%11100%
get_Estado()100%11100%
get_FechaInicio()100%11100%
get_FechaFin()100%11100%
get_RegimenId()100%11100%
get_Regimen()100%11100%
get_Ley()100%11100%
get_EscalafonId()100%11100%
get_Escalafon()100%11100%
get_GradoId()100%11100%
get_Grado()100%11100%
get_Cargo()100%11100%
get_SituacionId()100%11100%
get_Situacion()100%11100%
get_ProgramaId()100%11100%
get_Programa()100%11100%
get_UnidadId()100%11100%
get_Unidad()100%11100%
get_CompaniaId()100%11100%
get_Compania()100%11100%
get_RiesgoVuelo()100%11100%
get_PrimaTecnica()100%11100%
get_PrimaSolidariaFamiliar()100%11100%
get_AniosInactivos()100%11100%
get_Observaciones()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{
 230    public long RelacionLaboralId { get; set; }
 1131    public string Estado { get; set; } = string.Empty;
 232    public DateTime FechaInicio { get; set; }
 233    public DateTime? FechaFin { get; set; }
 34
 335    public long RegimenId { get; set; }
 836    public string Regimen { get; set; } = string.Empty;
 837    public string Ley { get; set; } = string.Empty;
 38
 239    public long EscalafonId { get; set; }
 840    public string Escalafon { get; set; } = string.Empty;
 41
 242    public long GradoId { get; set; }
 843    public string Grado { get; set; } = string.Empty;
 844    public string Cargo { get; set; } = string.Empty;
 45
 246    public long SituacionId { get; set; }
 847    public string Situacion { get; set; } = string.Empty;
 48
 249    public long ProgramaId { get; set; }
 850    public string Programa { get; set; } = string.Empty;
 51
 252    public long UnidadId { get; set; }
 853    public string Unidad { get; set; } = string.Empty;
 54
 255    public long? CompaniaId { get; set; }
 256    public string? Compania { get; set; }
 57
 258    public decimal? RiesgoVuelo { get; set; }
 259    public string? PrimaTecnica { get; set; }
 260    public string? PrimaSolidariaFamiliar { get; set; }
 261    public int? AniosInactivos { get; set; }
 262    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")]
 79    public long NuevoGradoId { get; set; }
 80
 81    [System.ComponentModel.DataAnnotations.Required(ErrorMessage = "La fecha de ascenso es requerida")]
 82    public DateTime FechaAscenso { get; set; }
 83
 84    // Razón del ascenso que se guardará en auditoría
 85    [System.ComponentModel.DataAnnotations.Required(ErrorMessage = "La razón del ascenso es requerida")]
 86    [System.ComponentModel.DataAnnotations.MaxLength(500)]
 87    public string? Observacion { get; set; }
 88
 89    // Unidad a la que se asigna tras el ascenso
 90    [System.ComponentModel.DataAnnotations.Required(ErrorMessage = "La unidad es requerida")]
 91    public long? UnidadId { get; set; }
 92
 93    // Ley/régimen asociado al ascenso (obligatoria)
 94    [System.ComponentModel.DataAnnotations.Required(ErrorMessage = "La ley es requerida")]
 95    [System.ComponentModel.DataAnnotations.MaxLength(50)]
 96    public string Ley { get; set; } = string.Empty;
 97}
 98