using System.ComponentModel.DataAnnotations;
namespace TrajetKmTracker.Api.Models.Entities;
///
/// Tranche du barème kilométrique URSSAF pour une année et une puissance fiscale.
/// Trois tranches par (année, puissance fiscale) : ≤5000 km, 5001–20000 km, >20000 km.
///
public class TrancheBareme
{
public int Id { get; set; }
[Required]
public int Annee { get; set; }
[Required]
public int PuissanceFiscale { get; set; }
/// Borne minimale de kilométrage annuel (incluse).
[Required]
public decimal KmMin { get; set; }
///
/// Borne maximale de kilométrage annuel, EXCLUSIVE : la tranche couvre [KmMin, KmMax[.
/// null signifie « illimité » (dernière tranche, sans borne supérieure).
///
public decimal? KmMax { get; set; }
/// Coefficient en euros par kilomètre.
[Required]
public decimal Coefficient { get; set; }
/// Base fixe en euros ajoutée au montant (nulle pour les tranches 1 et 3). Formule : km × Coefficient + Base.
public decimal Base { get; set; } = 0m;
}