< Summary

Information
Class: FAU.Entidades.RelacionLaboral
Assembly: FAU.Entidades
File(s): /home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.Entidades/RelacionLaboral.cs
Line coverage
84%
Covered lines: 27
Uncovered lines: 5
Coverable lines: 32
Total lines: 120
Line coverage: 84.3%
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_Id()100%11100%
get_PersonaId()100%11100%
get_RegimenId()100%11100%
get_UnidadId()100%11100%
get_ProgramaId()100%11100%
get_SituacionId()100%11100%
get_EscalafonId()100%11100%
get_GradoId()100%11100%
get_FechaInicio()100%11100%
get_FechaFin()100%11100%
get_FechaUltimoAscenso()100%210%
get_Estado()100%11100%
get_FechaActualizacion()100%11100%
get_PrimaTecnica()100%11100%
get_PrimaSolidariaFamiliar()100%11100%
get_RiesgoVuelo()100%11100%
get_AniosInactivos()100%11100%
get_Observaciones()100%11100%
get_CompaniaId()100%11100%
get_GradoReincorporacionId()100%210%
get_HaberRetiro()100%210%
get_PorcentajeProgresivo()100%210%
get_Persona()100%11100%
get_Regimen()100%11100%
get_Unidad()100%11100%
get_Programa()100%11100%
get_Situacion()100%11100%
get_Escalafon()100%11100%
get_Grado()100%11100%
get_Compania()100%11100%
get_GradoReincorporacion()100%210%
get_MovimientosLaborales()100%11100%

File(s)

/home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.Entidades/RelacionLaboral.cs

#LineLine coverage
 1using System.ComponentModel.DataAnnotations;
 2using System.ComponentModel.DataAnnotations.Schema;
 3
 4namespace FAU.Entidades;
 5
 6[Table("relaciones_laborales")]
 7public class RelacionLaboral
 8{
 9    [Key]
 10    [Column("id")]
 8411    public long Id { get; set; }
 12
 13    [Required]
 14    [Column("persona_id")]
 12115    public long PersonaId { get; set; }
 16
 17    [Required]
 18    [Column("regimen_id")]
 6319    public long RegimenId { get; set; }
 20
 21    [Required]
 22    [Column("unidad_id")]
 7623    public long UnidadId { get; set; }
 24
 25    [Required]
 26    [Column("programa_id")]
 9627    public long ProgramaId { get; set; }
 28
 29    [Required]
 30    [Column("situacion_id")]
 7631    public long SituacionId { get; set; }
 32
 33    [Required]
 34    [Column("escalafon_id")]
 6435    public long EscalafonId { get; set; }
 36
 37    [Required]
 38    [Column("grado_id")]
 12139    public long GradoId { get; set; }
 40
 41    [Required]
 42    [Column("fecha_inicio", TypeName = "date")]
 6443    public DateTime FechaInicio { get; set; }
 44
 45    [Column("fecha_fin", TypeName = "date")]
 946    public DateTime? FechaFin { get; set; }
 47
 48    [Column("fecha_ultimo_ascenso", TypeName = "date")]
 049    public DateTime? FechaUltimoAscenso { get; set; }
 50
 51    [Required]
 52    [MaxLength(20)]
 53    [Column("estado")]
 7854    public EstadoRelacion Estado { get; set; } = EstadoRelacion.Activo; // activo, inactivo
 55
 56    [Column("fecha_actualizacion")]
 9857    public DateTime FechaActualizacion { get; set; } = DateTime.UtcNow;
 58
 59    // Campos adicionales para compensaciones
 60    [MaxLength(10)]
 61    [Column("prima_tecnica")]
 9162    public string? PrimaTecnica { get; set; } = "VACIO"; // VACIO, A, B, C
 63
 64    [MaxLength(30)]
 65    [Column("prima_solidaria_familiar")]
 466    public string? PrimaSolidariaFamiliar { get; set; }
 67
 68    [Column("riesgo_vuelo", TypeName = "decimal(14,2)")]
 469    public decimal? RiesgoVuelo { get; set; }
 70
 71    [Column("anios_inactivos")]
 472    public int? AniosInactivos { get; set; }
 73
 74    [Column("observaciones")]
 975    public string? Observaciones { get; set; }
 76
 77    [Column("compania_id")]
 778    public long? CompaniaId { get; set; }
 79
 80    // Sit50: reincorporados
 81    [Column("grado_reincorporacion_id")]
 082    public long? GradoReincorporacionId { get; set; }
 83
 84    [Column("haber_retiro", TypeName = "numeric(14,2)")]
 085    public decimal? HaberRetiro { get; set; }
 86
 87    [Column("porcentaje_progresivo", TypeName = "numeric(5,4)")]
 088    public decimal? PorcentajeProgresivo { get; set; }
 89
 90    // Navegación
 91    [ForeignKey("PersonaId")]
 2392    public virtual Persona Persona { get; set; } = null!;
 93
 94    [ForeignKey("RegimenId")]
 595    public virtual Regimen Regimen { get; set; } = null!;
 96
 97    [ForeignKey("UnidadId")]
 298    public virtual Unidad Unidad { get; set; } = null!;
 99
 100    [ForeignKey("ProgramaId")]
 2101    public virtual Programa Programa { get; set; } = null!;
 102
 103    [ForeignKey("SituacionId")]
 2104    public virtual Situacion Situacion { get; set; } = null!;
 105
 106    [ForeignKey("EscalafonId")]
 2107    public virtual Escalafon Escalafon { get; set; } = null!;
 108
 109    [ForeignKey("GradoId")]
 6110    public virtual Grado Grado { get; set; } = null!;
 111
 112    [ForeignKey("CompaniaId")]
 2113    public virtual Compania? Compania { get; set; }
 114
 115    [ForeignKey("GradoReincorporacionId")]
 0116    public virtual Grado? GradoReincorporacion { get; set; }
 117
 87118    public virtual ICollection<MovimientoLaboral> MovimientosLaborales { get; set; } = new List<MovimientoLaboral>();
 119}
 120