< 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
85%
Covered lines: 29
Uncovered lines: 5
Coverable lines: 34
Total lines: 126
Line coverage: 85.2%
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_SubUnidadId()100%11100%
get_MotivoBajaId()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_SubUnidad()100%11100%
get_MotivoBaja()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")]
 9411    public long Id { get; set; }
 12
 13    [Required]
 14    [Column("persona_id")]
 14415    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")]
 9527    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")]
 6735    public long EscalafonId { get; set; }
 36
 37    [Required]
 38    [Column("grado_id")]
 12339    public long GradoId { get; set; }
 40
 41    [Required]
 42    [Column("fecha_inicio", TypeName = "date")]
 6743    public DateTime FechaInicio { get; set; }
 44
 45    [Column("fecha_fin", TypeName = "date")]
 1046    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")]
 8054    public EstadoRelacion Estado { get; set; } = EstadoRelacion.Activo; // activo, inactivo
 55
 56    [Column("fecha_actualizacion")]
 10957    public DateTime FechaActualizacion { get; set; } = DateTime.UtcNow;
 58
 59    // Campos adicionales para compensaciones
 60    [MaxLength(10)]
 61    [Column("prima_tecnica")]
 10362    public string? PrimaTecnica { get; set; } = "VACIO"; // VACIO, A, B, C
 63
 64    [MaxLength(30)]
 65    [Column("prima_solidaria_familiar")]
 666    public string? PrimaSolidariaFamiliar { get; set; }
 67
 68    [Column("riesgo_vuelo", TypeName = "decimal(14,2)")]
 669    public decimal? RiesgoVuelo { get; set; }
 70
 71    [Column("anios_inactivos")]
 472    public int? AniosInactivos { get; set; }
 73
 74    [Column("observaciones")]
 1075    public string? Observaciones { get; set; }
 76
 77    [Column("sub_unidad_id")]
 778    public long? SubUnidadId { get; set; }
 79
 80    [Column("motivo_baja_id")]
 381    public long? MotivoBajaId { get; set; }
 82
 83    // Sit50: reincorporados
 84    [Column("grado_reincorporacion_id")]
 085    public long? GradoReincorporacionId { get; set; }
 86
 87    [Column("haber_retiro", TypeName = "numeric(14,2)")]
 088    public decimal? HaberRetiro { get; set; }
 89
 90    [Column("porcentaje_progresivo", TypeName = "numeric(5,4)")]
 091    public decimal? PorcentajeProgresivo { get; set; }
 92
 93    // Navegación
 94    [ForeignKey("PersonaId")]
 2995    public virtual Persona Persona { get; set; } = null!;
 96
 97    [ForeignKey("RegimenId")]
 598    public virtual Regimen Regimen { get; set; } = null!;
 99
 100    [ForeignKey("UnidadId")]
 2101    public virtual Unidad Unidad { get; set; } = null!;
 102
 103    [ForeignKey("ProgramaId")]
 2104    public virtual Programa Programa { get; set; } = null!;
 105
 106    [ForeignKey("SituacionId")]
 2107    public virtual Situacion Situacion { get; set; } = null!;
 108
 109    [ForeignKey("EscalafonId")]
 2110    public virtual Escalafon Escalafon { get; set; } = null!;
 111
 112    [ForeignKey("GradoId")]
 3113    public virtual Grado Grado { get; set; } = null!;
 114
 115    [ForeignKey("SubUnidadId")]
 2116    public virtual SubUnidad? SubUnidad { get; set; }
 117
 118    [ForeignKey("MotivoBajaId")]
 2119    public virtual MotivoBaja? MotivoBaja { get; set; }
 120
 121    [ForeignKey("GradoReincorporacionId")]
 0122    public virtual Grado? GradoReincorporacion { get; set; }
 123
 97124    public virtual ICollection<MovimientoLaboral> MovimientosLaborales { get; set; } = new List<MovimientoLaboral>();
 125}
 126