< 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
97%
Covered lines: 38
Uncovered lines: 1
Coverable lines: 39
Total lines: 150
Line coverage: 97.4%
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%11100%
get_FechaAscensoOficial()100%11100%
get_Superprima()100%11100%
get_Estado()100%11100%
get_FechaActualizacion()100%11100%
get_PrimaTecnica()100%11100%
get_PrimaSolidariaFamiliar()100%11100%
get_RiesgoVuelo()100%11100%
get_CategoriaViatico()100%11100%
get_UsaFonasa()100%11100%
get_AniosServicioAnterior()100%11100%
get_AniosInactivos()100%11100%
get_Observaciones()100%11100%
get_SubUnidadId()100%11100%
get_MotivoBajaId()100%11100%
get_GradoReincorporacionId()100%11100%
get_HaberRetiro()100%11100%
get_PorcentajeProgresivo()100%11100%
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")]
 18411    public long Id { get; set; }
 12
 13    [Required]
 14    [Column("persona_id")]
 92615    public long PersonaId { get; set; }
 16
 17    [Required]
 18    [Column("regimen_id")]
 35219    public long RegimenId { get; set; }
 20
 21    [Required]
 22    [Column("unidad_id")]
 23723    public long UnidadId { get; set; }
 24
 25    [Required]
 26    [Column("programa_id")]
 25627    public long ProgramaId { get; set; }
 28
 29    [Required]
 30    [Column("situacion_id")]
 32431    public long SituacionId { get; set; }
 32
 33    [Required]
 34    [Column("escalafon_id")]
 28635    public long EscalafonId { get; set; }
 36
 37    [Required]
 38    [Column("grado_id")]
 217939    public long GradoId { get; set; }
 40
 41    [Required]
 42    [Column("fecha_inicio", TypeName = "date")]
 32843    public DateTime FechaInicio { get; set; }
 44
 45    [Column("fecha_fin", TypeName = "date")]
 1246    public DateTime? FechaFin { get; set; }
 47
 48    [Column("fecha_ultimo_ascenso", TypeName = "date")]
 11949    public DateTime? FechaUltimoAscenso { get; set; }
 50
 51    /// <summary>
 52    /// Fecha de ascenso a oficial. Base del progresivo 044.001 para oficiales.
 53    /// NULL para tropa (el progresivo cuenta desde FechaInicio).
 54    /// </summary>
 55    [Column("fecha_ascenso_oficial", TypeName = "date")]
 23656    public DateTime? FechaAscensoOficial { get; set; }
 57
 58    /// <summary>True si el funcionario cobra Prima Idoneidad (OG 042.093).</summary>
 59    [Column("superprima")]
 11260    public bool Superprima { get; set; }
 61
 62    [Required]
 63    [MaxLength(20)]
 64    [Column("estado")]
 19065    public EstadoRelacion Estado { get; set; } = EstadoRelacion.Activo; // activo, inactivo
 66
 67    [Column("fecha_actualizacion")]
 32468    public DateTime FechaActualizacion { get; set; } = DateTime.Now;
 69
 70    // Campos adicionales para compensaciones
 71    [MaxLength(10)]
 72    [Column("prima_tecnica")]
 46973    public string? PrimaTecnica { get; set; } = "VACIO"; // VACIO, A, B, C
 74
 75    [MaxLength(30)]
 76    [Column("prima_solidaria_familiar")]
 1077    public string? PrimaSolidariaFamiliar { get; set; }
 78
 79    [Column("riesgo_vuelo", TypeName = "decimal(14,2)")]
 13380    public decimal? RiesgoVuelo { get; set; }
 81
 82    /// <summary>Categoría de viático (CAT_VIAT legacy). 0 = sin viático; ≥1 = recibe OG 069.008 c/aportes.</summary>
 83    [Column("categoria_viatico")]
 6684    public short CategoriaViatico { get; set; } = 0;
 85
 86    /// <summary>Usa FONASA en vez de Sanidad Militar (SS_FF_AA=0 en legacy). False = Sanidad FFAA; true = FONASA.</summ
 87    [Column("usa_fonasa")]
 5788    public bool UsaFonasa { get; set; } = false;
 89
 90    /// <summary>Años de servicio de un período anterior (CTAPER_ANT legacy). Se suman al cálculo del progresivo.</summa
 91    [Column("anios_servicio_anterior")]
 1592    public short AniosServicioAnterior { get; set; } = 0;
 93
 94    [Column("anios_inactivos")]
 6995    public int? AniosInactivos { get; set; }
 96
 97    [Column("observaciones")]
 2298    public string? Observaciones { get; set; }
 99
 100    [Column("sub_unidad_id")]
 14101    public long? SubUnidadId { get; set; }
 102
 103    [Column("motivo_baja_id")]
 6104    public long? MotivoBajaId { get; set; }
 105
 106    // Sit50: reincorporados
 107    [Column("grado_reincorporacion_id")]
 54108    public long? GradoReincorporacionId { get; set; }
 109
 110
 111    [Column("haber_retiro", TypeName = "numeric(14,2)")]
 55112    public decimal? HaberRetiro { get; set; }
 113
 114    [Column("porcentaje_progresivo", TypeName = "numeric(5,4)")]
 53115    public decimal? PorcentajeProgresivo { get; set; }
 116
 117    // Navegación
 118    [ForeignKey("PersonaId")]
 376119    public virtual Persona Persona { get; set; } = null!;
 120
 121    [ForeignKey("RegimenId")]
 203122    public virtual Regimen Regimen { get; set; } = null!;
 123
 124    [ForeignKey("UnidadId")]
 6125    public virtual Unidad Unidad { get; set; } = null!;
 126
 127    [ForeignKey("ProgramaId")]
 30128    public virtual Programa Programa { get; set; } = null!;
 129
 130    [ForeignKey("SituacionId")]
 364131    public virtual Situacion Situacion { get; set; } = null!;
 132
 133    [ForeignKey("EscalafonId")]
 38134    public virtual Escalafon Escalafon { get; set; } = null!;
 135
 136    [ForeignKey("GradoId")]
 117137    public virtual Grado Grado { get; set; } = null!;
 138
 139    [ForeignKey("SubUnidadId")]
 5140    public virtual SubUnidad? SubUnidad { get; set; }
 141
 142    [ForeignKey("MotivoBajaId")]
 6143    public virtual MotivoBaja? MotivoBaja { get; set; }
 144
 145    [ForeignKey("GradoReincorporacionId")]
 0146    public virtual Grado? GradoReincorporacion { get; set; }
 147
 306148    public virtual ICollection<MovimientoLaboral> MovimientosLaborales { get; set; } = new List<MovimientoLaboral>();
 149}
 150