< 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: 24
Uncovered lines: 0
Coverable lines: 24
Total lines: 57
Line coverage: 100%
Branch coverage
71%
Covered branches: 10
Total branches: 14
Branch coverage: 71.4%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_PeriodoId()100%11100%
get_ParametroPeriodo()100%11100%
get_RemuneracionesPorGrado()100%11100%
get_PermanenciasPorEscalafon()100%11100%
get_FranjasIrpf()100%11100%
get_CatalogoItems()100%11100%
get_BeneficiosPorPersona()100%11100%
get_CompensacionesPorPersona()100%11100%
get_NovedadesPorPersona()100%11100%
ObtenerRemuneracion(...)100%44100%
ObtenerPermanencia(...)75%44100%
ObtenerBeneficios(...)50%22100%
ObtenerCompensaciones(...)50%22100%
ObtenerNovedad(...)50%22100%

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{
 287    public long PeriodoId { get; init; }
 708    public ParametroPeriodo ParametroPeriodo { get; init; } = null!;
 2409    public IReadOnlyDictionary<long, IReadOnlyDictionary<int, RemuneracionGrado>> RemuneracionesPorGrado { get; init; } 
 7510    public IReadOnlyDictionary<long, IReadOnlyList<TablaPermanencia>> PermanenciasPorEscalafon { get; init; } = new Dict
 3011    public IReadOnlyList<FranjaIrpf> FranjasIrpf { get; init; } = Array.Empty<FranjaIrpf>();
 15012    public IReadOnlyList<CatalogoItem> CatalogoItems { get; init; } = Array.Empty<CatalogoItem>();
 2913    public IReadOnlyDictionary<long, IReadOnlyList<BeneficioSocial>> BeneficiosPorPersona { get; init; } = new Dictionar
 2914    public IReadOnlyDictionary<long, IReadOnlyList<ItemLoteCompensacion>> CompensacionesPorPersona { get; init; } = new 
 2915    public IReadOnlyDictionary<long, NovedadPeriodo?> NovedadesPorPersona { get; init; } = new Dictionary<long, NovedadP
 16
 17    public RemuneracionGrado? ObtenerRemuneracion(long gradoId, int codigoItem)
 18    {
 18619        if (RemuneracionesPorGrado.TryGetValue(gradoId, out var items) && items.TryGetValue(codigoItem, out var remunera
 20        {
 5221            return remuneracion;
 22        }
 23
 13424        return null;
 25    }
 26
 27    public TablaPermanencia? ObtenerPermanencia(long escalafonId, int aniosServicio)
 28    {
 2229        if (PermanenciasPorEscalafon.TryGetValue(escalafonId, out var filas))
 30        {
 831            return filas.FirstOrDefault(p => p.AniosDesde <= aniosServicio && aniosServicio <= p.AniosHasta);
 32        }
 33
 1834        return null;
 35    }
 36
 37    public IReadOnlyList<BeneficioSocial> ObtenerBeneficios(long personaId)
 38    {
 139        return BeneficiosPorPersona.TryGetValue(personaId, out var beneficios)
 140            ? beneficios
 141            : Array.Empty<BeneficioSocial>();
 42    }
 43
 44    public IReadOnlyList<ItemLoteCompensacion> ObtenerCompensaciones(long personaId)
 45    {
 146        return CompensacionesPorPersona.TryGetValue(personaId, out var items)
 147            ? items
 148            : Array.Empty<ItemLoteCompensacion>();
 49    }
 50
 51    public NovedadPeriodo? ObtenerNovedad(long personaId)
 52    {
 153        return NovedadesPorPersona.TryGetValue(personaId, out var novedad)
 154            ? novedad
 155            : null;
 56    }
 57}