< Summary

Information
Class: FAU.Logica.Services.AguinaldoCalculator
Assembly: FAU.Logica
File(s): /home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.Logica/Services/AguinaldoCalculator.cs
Line coverage
100%
Covered lines: 23
Uncovered lines: 0
Coverable lines: 23
Total lines: 45
Line coverage: 100%
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
Calcular(...)100%11100%

File(s)

/home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.Logica/Services/AguinaldoCalculator.cs

#LineLine coverage
 1using FAU.Logica.DTOs;
 2
 3namespace FAU.Logica.Services;
 4
 5public class AguinaldoCalculator
 6{
 7    public AguinaldoSemestralDto Calcular(
 8        long personaId,
 9        string cedula,
 10        string nombreCompleto,
 11        short anio,
 12        short semestre,
 13        decimal totalHaberesGravadosSemestre,
 14        short mesesTrabajados,
 15        decimal tasaMontepio,
 16        decimal tasaSanidad)
 17    {
 118        var nominal = Math.Round(totalHaberesGravadosSemestre / 12m, 2);
 19
 120        var montepio = Math.Round(nominal * tasaMontepio, 2);
 121        var sanidad = Math.Round(nominal * tasaSanidad, 2);
 122        var totalDescuentos = Math.Round(montepio + sanidad, 2);
 23
 124        var liquidoExacto = nominal - totalDescuentos;
 125        var liquido = Math.Round(liquidoExacto, 0);
 126        var redondeo = liquido - liquidoExacto;
 27
 128        return new AguinaldoSemestralDto
 129        {
 130            PersonaId = personaId,
 131            Cedula = cedula,
 132            NombreCompleto = nombreCompleto,
 133            Anio = anio,
 134            Semestre = semestre,
 135            TotalHaberesGravadosSemestre = totalHaberesGravadosSemestre,
 136            MesesTrabajados = mesesTrabajados,
 137            Nominal = nominal,
 138            Montepio = montepio,
 139            Sanidad = sanidad,
 140            TotalDescuentos = totalDescuentos,
 141            Liquido = liquido,
 142            Redondeo = redondeo
 143        };
 44    }
 45}