< Summary

Information
Class: FAU.Logica.DTOs.CalcularIrpfRequest
Assembly: FAU.Logica
File(s): /home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.Logica/DTOs/CalcularIrpfRequest.cs
Line coverage
100%
Covered lines: 8
Uncovered lines: 0
Coverable lines: 8
Total lines: 51
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
get_IngresoGravados()100%11100%
get_Montepio()100%11100%
get_Fonasa()100%11100%
get_Frl()100%11100%
get_Deducciones()100%11100%
get_Parametros()100%11100%
get_Franjas()100%11100%
get_Adicional6()100%11100%

File(s)

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

#LineLine coverage
 1namespace FAU.Logica.DTOs;
 2
 3/// <summary>
 4/// Request model para el cálculo de IRPF.
 5/// Contiene todos los datos necesarios para calcular deducciones y aplicar franjas progresivas.
 6/// Sin estado - el calculador es stateless.
 7/// </summary>
 8public class CalcularIrpfRequest
 9{
 10    /// <summary>
 11    /// Ingresos gravados (base antes de deducciones)
 12    /// = Sum(haberes + compensaciones) - asignación familiar
 13    /// </summary>
 8814    public decimal IngresoGravados { get; set; }
 15
 16    /// <summary>
 17    /// Monto de Montepio ya deducido del salario bruto
 18    /// </summary>
 6819    public decimal Montepio { get; set; }
 20
 21    /// <summary>
 22    /// Monto de FONASA ya deducido del salario bruto
 23    /// </summary>
 6524    public decimal Fonasa { get; set; }
 25
 26    /// <summary>
 27    /// Monto de FRL ya deducido del salario bruto
 28    /// </summary>
 6129    public decimal Frl { get; set; }
 30
 31    /// <summary>
 32    /// Dependientes para deducción IRPF (hijos, cónyuge)
 33    /// </summary>
 11734    public List<DeduccionDto> Deducciones { get; set; } = new();
 35
 36    /// <summary>
 37    /// Parámetros del período (BPC, umbrales, tasas)
 38    /// </summary>
 7939    public ParametrosIrpfDto Parametros { get; set; } = null!;
 40
 41    /// <summary>
 42    /// Franjas progresivas IRPF vigentes (7 franjas ordenadas por numero_franja)
 43    /// </summary>
 11244    public List<FranjaIrpfCalculoDto> Franjas { get; set; } = new();
 45
 46    /// <summary>
 47    /// Adicional 6% CESS: (montepio / tasa_montepio) * 6%. Solo aplica cuando IngresoGravados > 10 BPC.
 48    /// Legacy: campo Adicional6 en IRPF_TOT.PRG, fórmula (dedu_mont / PorcMont2) * 6.
 49    /// </summary>
 4950    public decimal Adicional6 { get; set; }
 51}