1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| // Classe de calcul de la Taxe sur la valeur ajoutée (TVA) version 1.0.
// Code général des impôts (CGI).
// Assujettissement : CGI art. 256, 256 A.
class Tva
{
// I- Constantes, champs et propriétés.
// Taux normal de 20 % : CGI art. 278.
private const double tauxNormal = 0.20D;
public double TauxNormal
{
get { return tauxNormal; }
}
// Taux réduit de 10 % : CGI art. 278 bis, 278 quater, 278 sexies A, 278 septies, 279, 279-0 bis, 279-0 bis A.
private const double tauxReduit10 = 0.10D;
public double TauxReduit10
{
get { return tauxReduit10; }
}
// Taux réduit de 5,5 % : CGI art. 278-0 bis, 278-0 bis A, 278 sexies.
private const double tauxReduit55 = 0.055D;
public double TauxReduit55
{
get { return tauxReduit55; }
}
// Prix HT base de la TVA.
private double prixHT;
public double PrixHT
{
get { return this.prixHT; }
set { this.prixHT = value; }
}
// Instantiacion avec le prix HT spécifié ou à défaut avec un prix HT égal à 0.
public Tva(double PrixHT = 0D)
{
this.prixHT = PrixHT;
}
// II- Méthode.
// Retourne le montant de la TVA en fonction du taux choisi ou à défaut au taux normal.
public double GetMontant(string Taux = "TAUX_NORMAL")
{
if (Taux == "TAUX_NORMAL") return this.prixHT * tauxNormal;
else if (Taux == "TAUX_REDUIT10") return this.prixHT * tauxReduit10;
else if (Taux == "TAUX_REDUIT55") return this.prixHT * tauxReduit55;
else
{
CustomException tauxInconnu = new CustomException("Le taux de TVA demandé n'existe pas ou n'est pas supporté.");
throw tauxInconnu;
return 0D;
}
}
} |
Partager