< Summary

Information
Class: FAU.Logica.DTOs.InsumosPeriodo
Assembly: FAU.Logica
File(s): /home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.Logica/DTOs/InsumosPeriodo.cs
Line coverage
100%
Covered lines: 29
Uncovered lines: 0
Coverable lines: 29
Total lines: 69
Line coverage: 100%
Branch coverage
78%
Covered branches: 11
Total branches: 14
Branch coverage: 78.5%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

File(s)

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

#LineLine coverage
 1using FAU.Entidades;
 2
 3namespace FAU.Logica.DTOs;
 4
 5public sealed class InsumosPeriodo
 6{
 357    public long PeriodoId { get; init; }
 2368    public ParametroPeriodo ParametroPeriodo { get; init; } = null!;
 3469    public IReadOnlyDictionary<long, IReadOnlyDictionary<int, RemuneracionGrado>> RemuneracionesPorGrado { get; init; } 
 10510    public IReadOnlyDictionary<long, IReadOnlyList<TablaPermanencia>> PermanenciasPorEscalafon { get; init; } = new Dict
 7711    public IReadOnlyList<FranjaIrpf> FranjasIrpf { get; init; } = Array.Empty<FranjaIrpf>();
 24912    public IReadOnlyList<CatalogoItem> CatalogoItems { get; init; } = Array.Empty<CatalogoItem>();
 6913    public IReadOnlyDictionary<long, IReadOnlyList<BeneficioSocial>> BeneficiosPorPersona { get; init; } = new Dictionar
 5314    public IReadOnlyDictionary<long, IReadOnlyList<ItemLoteCompensacion>> CompensacionesPorPersona { get; init; } = new 
 5315    public IReadOnlyDictionary<long, NovedadPeriodo?> NovedadesPorPersona { get; init; } = new Dictionary<long, NovedadP
 16    // beneficioId → hijos registrados (para ASIGNACION_FAMILIAR)
 6817    public IReadOnlyDictionary<long, IReadOnlyList<BeneficioSocialBeneficiario>> BeneficiariosPorBeneficio { get; init; 
 18
 19    // Instructivos DFC — tipoFranja → registro vigente
 6820    public IReadOnlyDictionary<string, InstructivoAsigFamiliar> InstructivoAsigFamiliar { get; init; } = new Dictionary<
 21    // Instructivos DFC — numCategoria → registro vigente
 6822    public IReadOnlyDictionary<int, InstructivoPsf> InstructivoPsf { get; init; } = new Dictionary<int, InstructivoPsf>(
 23    // Tabla hogar constituido — tramos ordenados (hasta_haberes ASC, NULL al final)
 6824    public IReadOnlyList<TablaHogarConstituido> TablaPorHogar { get; init; } = Array.Empty<TablaHogarConstituido>();
 25
 26    // Aguinaldos (SAC) del año por persona — usado por AguinaldoCalculator (SIT14/15/18/20)
 6027    public IReadOnlyDictionary<long, IReadOnlyList<Aguinaldo>> AguinaldosPorPersona { get; init; } = new Dictionary<long
 28
 29    public RemuneracionGrado? ObtenerRemuneracion(long gradoId, int codigoItem)
 30    {
 26531        if (RemuneracionesPorGrado.TryGetValue(gradoId, out var items) && items.TryGetValue(codigoItem, out var remunera
 32        {
 6133            return remuneracion;
 34        }
 35
 20436        return null;
 37    }
 38
 39    public TablaPermanencia? ObtenerPermanencia(long escalafonId, int aniosServicio)
 40    {
 2541        if (PermanenciasPorEscalafon.TryGetValue(escalafonId, out var filas))
 42        {
 843            return filas.FirstOrDefault(p => p.AniosDesde <= aniosServicio && aniosServicio <= p.AniosHasta);
 44        }
 45
 2146        return null;
 47    }
 48
 49    public IReadOnlyList<BeneficioSocial> ObtenerBeneficios(long personaId)
 50    {
 1751        return BeneficiosPorPersona.TryGetValue(personaId, out var beneficios)
 1752            ? beneficios
 1753            : Array.Empty<BeneficioSocial>();
 54    }
 55
 56    public IReadOnlyList<ItemLoteCompensacion> ObtenerCompensaciones(long personaId)
 57    {
 158        return CompensacionesPorPersona.TryGetValue(personaId, out var items)
 159            ? items
 160            : Array.Empty<ItemLoteCompensacion>();
 61    }
 62
 63    public NovedadPeriodo? ObtenerNovedad(long personaId)
 64    {
 165        return NovedadesPorPersona.TryGetValue(personaId, out var novedad)
 166            ? novedad
 167            : null;
 68    }
 69}