< Summary

Information
Class: FAU.Logica.DTOs.ResultadoIrpf
Assembly: FAU.Logica
File(s): /home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.Logica/DTOs/ResultadoIrpf.cs
Line coverage
100%
Covered lines: 7
Uncovered lines: 0
Coverable lines: 7
Total lines: 69
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_IngresoGravado()100%11100%
get_Deducciones()100%11100%
get_TasaCredito()100%11100%
get_TotalDeducciones()100%11100%
get_IrpfBruto()100%11100%
get_TotalIrpf()100%11100%
get_DetallePorFranja()100%11100%

File(s)

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

#LineLine coverage
 1namespace FAU.Logica.DTOs;
 2
 3/// <summary>
 4/// Resultado del cálculo IRPF (output del IrpfCalculator).
 5/// Contiene el IRPF total, deducciones, y desglose por franja para auditoría.
 6/// </summary>
 7public class ResultadoIrpf
 8{
 9    /// <summary>
 10    /// Ingreso gravado (base antes de deducciones)
 11    /// </summary>
 1212    public decimal IngresoGravado { get; set; }
 13
 14    /// <summary>
 15    /// Desglose de deducciones aplicadas
 16    /// </summary>
 3017    public DetalleDeduccionesResultado Deducciones { get; set; } = new();
 18
 19    /// <summary>
 20    /// Tasa de crédito fiscal aplicada: 0.08 (8%) si ingreso &gt;= 15 BPC, 0.10 (10%) si menor.
 21    /// </summary>
 1122    public decimal TasaCredito { get; set; }
 23
 24    /// <summary>
 25    /// Total de deducciones = aportes + hijos + cónyuge
 26    /// </summary>
 1227    public decimal TotalDeducciones { get; set; }
 28
 29    /// <summary>
 30    /// IRPF bruto = resultado de aplicar franjas sobre el ingreso gravado completo (antes del crédito).
 31    /// </summary>
 1332    public decimal IrpfBruto { get; set; }
 33
 34    /// <summary>
 35    /// IRPF total calculado = suma de IRPF por franja
 36    /// </summary>
 1737    public decimal TotalIrpf { get; set; }
 38
 39    /// <summary>
 40    /// Desglose de IRPF por franja (1-7 filas, solo franjas con impuesto > 0)
 41    /// </summary>
 2442    public List<DetalleFranjaResultado> DetallePorFranja { get; set; } = new();
 43}
 44
 45/// <summary>
 46/// Desglose de deducciones en el resultado
 47/// </summary>
 48public class DetalleDeduccionesResultado
 49{
 50    /// <summary>
 51    /// Deducción por aportes = Montepio + FONASA + FRL
 52    /// </summary>
 53    public decimal Aportes { get; set; }
 54
 55    /// <summary>
 56    /// Deducción por hijos menores o con discapacidad
 57    /// </summary>
 58    public decimal Hijos { get; set; }
 59
 60    /// <summary>
 61    /// Deducción por cónyuge sin ingresos
 62    /// </summary>
 63    public decimal Conyuge { get; set; }
 64
 65    /// <summary>
 66    /// Deducción profesional = IngresoGravado * TasaDeduccionProfesional
 67    /// </summary>
 68    public decimal Profesional { get; set; }
 69}