using SchotzIadKmTracker.Api.Models.DTOs; namespace SchotzIadKmTracker.Api.Services; /// /// Logique métier de la régularisation annuelle (barème plein, 100%). /// /// Contrairement au Montant_Previsionnel (80% indicatif, hors régularisation), la régularisation /// applique le Bareme_Kilometrique plein au total kilométrique annuel COMPLET du véhicule : /// /// Montant_Reel = total_km_annuel × Coefficient + Base de la tranche déterminée par ce /// total annuel (Exigence 14.5, Property 25/27). /// Frais_Reel_Mensuel[m] = km_du_mois[m] × Coefficient de la tranche annuelle, de sorte que /// la somme des douze Frais_Reel_Mensuel + la Base de la tranche = Montant_Reel (Exigence 14.6). /// Regularisation = Montant_Reel − total des Montant_Regle de l'année (Exigence 14.7). /// /// public interface IRemboursementService { /// /// Construit la synthèse annuelle de régularisation pour un couple (année, véhicule) : /// identité de la tranche annuelle applicable, 12 lignes mensuelles /// () et totaux (km annuel, réglé, Montant_Reel, Regularisation). /// Task GetRegularisationAnnuelleAsync( int annee, int vehiculeId, CancellationToken cancellationToken = default); }