public decimal CalculerPrixPanier(Panier panier) { if (panier == null) { throw new PanierNullException(); } decimal remise = 0; decimal prixTotal = 0; foreach (var promotion in _listePromotions) { remise += promotion.CalculerRemise(panier, PrixFruits); } foreach (var fruits in panier.Contenu) { prixTotal += fruits.Value * PrixFruits[fruits.Key]; } if (!string.IsNullOrEmpty(paysDeLivraison)) { prixTotal += PrixLivraisons[paysDeLivraison]; } return(prixTotal - remise); }
public void GivenJAiUnPanierDe14Euros() { Panier = new Panier(); Panier.AjouterFruits(TypeDeFruit.Poire, 3); Panier.AjouterFruits(TypeDeFruit.Pomme, 2); Panier.AjouterFruits(TypeDeFruit.Banane, 2); }
public decimal CalculerRemise(Panier panier, Dictionary <TypeDeFruit, decimal> PrixFruits) { decimal nombreDeFoisPromoAppliquee = panier.Contenu[TypeDeFruit.Poire] / NbPoireAchetee; var nombrePoireOfferte = NbPoireOfferte * (int)Math.Floor(nombreDeFoisPromoAppliquee); var remise = PrixFruits[TypeDeFruit.Poire] * nombrePoireOfferte; return(remise); }
public decimal CalculerRemise(Panier panier, Dictionary <TypeDeFruit, decimal> prixFruits) { var nbMandarinePanier = panier.Contenu[TypeDeFruit.Mandarine]; if (nbMandarinePanier > _nbMandarineMinimum) { return(nbMandarinePanier * prixFruits[TypeDeFruit.Mandarine] * _pourcentage); } return(0); }
public decimal CalculerRemise(Panier panier, Dictionary <TypeDeFruit, decimal> prixFruits) { _prixFruits = prixFruits; if (panier.Contenu.Sum(f => f.Value) >= 10) { var typeFruit = RecupererFruitLePlusCher(panier.Contenu); return(_prixFruits[typeFruit]); } return(0); }
public void GivenJAiUneCaisseEnregistreuse() { Caisse = new CaisseEnregistreuse(); Panier = new Panier(); }