< Summary

Information
Class: FAU.Logica.DTOs.DetalleDeduccionesResultado
Assembly: FAU.Logica
File(s): /home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.Logica/DTOs/ResultadoIrpf.cs
Line coverage
100%
Covered lines: 4
Uncovered lines: 0
Coverable lines: 4
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_Aportes()100%11100%
get_Hijos()100%11100%
get_Conyuge()100%11100%
get_Profesional()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>
 12    public decimal IngresoGravado { get; set; }
 13
 14    /// <summary>
 15    /// Desglose de deducciones aplicadas
 16    /// </summary>
 17    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>
 22    public decimal TasaCredito { get; set; }
 23
 24    /// <summary>
 25    /// Total de deducciones = aportes + hijos + cónyuge
 26    /// </summary>
 27    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>
 32    public decimal IrpfBruto { get; set; }
 33
 34    /// <summary>
 35    /// IRPF total calculado = suma de IRPF por franja
 36    /// </summary>
 37    public decimal TotalIrpf { get; set; }
 38
 39    /// <summary>
 40    /// Desglose de IRPF por franja (1-7 filas, solo franjas con impuesto > 0)
 41    /// </summary>
 42    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>
 2753    public decimal Aportes { get; set; }
 54
 55    /// <summary>
 56    /// Deducción por hijos menores o con discapacidad
 57    /// </summary>
 2058    public decimal Hijos { get; set; }
 59
 60    /// <summary>
 61    /// Deducción por cónyuge sin ingresos
 62    /// </summary>
 1663    public decimal Conyuge { get; set; }
 64
 65    /// <summary>
 66    /// Deducción profesional = IngresoGravado * TasaDeduccionProfesional
 67    /// </summary>
 1468    public decimal Profesional { get; set; }
 69}