< Summary

Information
Class: FAU.Entidades.IrpfDetalleFranjas
Assembly: FAU.Entidades
File(s): /home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.Entidades/IrpfDetalleFranjas.cs
Line coverage
62%
Covered lines: 5
Uncovered lines: 3
Coverable lines: 8
Total lines: 54
Line coverage: 62.5%
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_Id()100%210%
get_IrpfMensualId()100%11100%
get_FranjaIrpfId()100%11100%
get_BaseEnFranja()100%11100%
get_Tasa()100%11100%
get_Impuesto()100%11100%
get_IrpfMensual()100%210%
get_FranjaIrpf()100%210%

File(s)

/home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.Entidades/IrpfDetalleFranjas.cs

#LineLine coverage
 1using System.ComponentModel.DataAnnotations;
 2using System.ComponentModel.DataAnnotations.Schema;
 3
 4namespace FAU.Entidades;
 5
 6/// <summary>
 7/// Detalle de IRPF calculado para cada franja progresiva.
 8/// Mapea a tabla irpf_detalle_franjas - 1-7 filas por IrpfMensual mostrando impuesto por franja.
 9/// Usado para auditoría, trazabilidad, y validación de cálculos.
 10/// </summary>
 11[Table("irpf_detalle_franjas")]
 12public class IrpfDetalleFranjas
 13{
 14    [Key]
 15    [Column("id")]
 016    public long Id { get; set; }
 17
 18    [Required]
 19    [Column("irpf_mensual_id")]
 520    public long IrpfMensualId { get; set; }
 21
 22    [Required]
 23    [Column("franja_irpf_id")]
 1324    public long FranjaIrpfId { get; set; }
 25
 26    /// <summary>
 27    /// Monto de base imponible neta que cae dentro de esta franja.
 28    /// Ejemplo: si base=5000 y franja es [2000, 5000), entonces BaseEnFranja = 3000
 29    /// </summary>
 30    [Required]
 31    [Column("base_en_franja", TypeName = "numeric(14,2)")]
 1332    public decimal BaseEnFranja { get; set; }
 33
 34    /// <summary>
 35    /// Tasa IRPF de esta franja (0.00, 0.10, 0.15, 0.24, 0.31, 0.34, 0.36)
 36    /// </summary>
 37    [Required]
 38    [Column("tasa", TypeName = "4")]
 1339    public decimal Tasa { get; set; }
 40
 41    /// <summary>
 42    /// IRPF calculado en esta franja = BaseEnFranja * Tasa
 43    /// </summary>
 44    [Required]
 45    [Column("impuesto", TypeName = "numeric(14,2)")]
 1446    public decimal Impuesto { get; set; }
 47
 48    // Navigation properties
 49    [ForeignKey("IrpfMensualId")]
 050    public virtual IrpfMensual? IrpfMensual { get; set; }
 51
 52    [ForeignKey("FranjaIrpfId")]
 053    public virtual FranjaIrpf? FranjaIrpf { get; set; }
 54}