< 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
91%
Covered lines: 22
Uncovered lines: 2
Coverable lines: 24
Total lines: 57
Line coverage: 91.6%
Branch coverage
50%
Covered branches: 7
Total branches: 14
Branch coverage: 50%
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(...)50%5466.66%
ObtenerPermanencia(...)50%5466.66%
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{
 27    public long PeriodoId { get; init; }
 28    public ParametroPeriodo ParametroPeriodo { get; init; } = null!;
 39    public IReadOnlyDictionary<long, IReadOnlyDictionary<int, RemuneracionGrado>> RemuneracionesPorGrado { get; init; } 
 310    public IReadOnlyDictionary<long, IReadOnlyList<TablaPermanencia>> PermanenciasPorEscalafon { get; init; } = new Dict
 411    public IReadOnlyList<FranjaIrpf> FranjasIrpf { get; init; } = Array.Empty<FranjaIrpf>();
 212    public IReadOnlyList<CatalogoItem> CatalogoItems { get; init; } = Array.Empty<CatalogoItem>();
 313    public IReadOnlyDictionary<long, IReadOnlyList<BeneficioSocial>> BeneficiosPorPersona { get; init; } = new Dictionar
 314    public IReadOnlyDictionary<long, IReadOnlyList<ItemLoteCompensacion>> CompensacionesPorPersona { get; init; } = new 
 315    public IReadOnlyDictionary<long, NovedadPeriodo?> NovedadesPorPersona { get; init; } = new Dictionary<long, NovedadP
 16
 17    public RemuneracionGrado? ObtenerRemuneracion(long gradoId, int codigoItem)
 18    {
 119        if (RemuneracionesPorGrado.TryGetValue(gradoId, out var items) && items.TryGetValue(codigoItem, out var remunera
 20        {
 121            return remuneracion;
 22        }
 23
 024        return null;
 25    }
 26
 27    public TablaPermanencia? ObtenerPermanencia(long escalafonId, int aniosServicio)
 28    {
 129        if (PermanenciasPorEscalafon.TryGetValue(escalafonId, out var filas))
 30        {
 231            return filas.FirstOrDefault(p => p.AniosDesde <= aniosServicio && aniosServicio <= p.AniosHasta);
 32        }
 33
 034        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}