namespace Programmation_objet_TLESIO21.TD3.fleuriste { public class Stock { //roses = 0, tulipes = 1, œillets = 2 private Fleur[] fleurs = new Fleur[3]; private int[] quantite = { 0, 0, 0 }; public Stock(Fleur r, Fleur t, Fleur o) { this.fleurs[0] = r; this.fleurs[1] = t; this.fleurs[2] = o; } public void AjouteFleur(Fleur f, int q) { switch (f.GetNom().ToLower()) { case "rose": this.SetQuantite(0, this.GetFleurQuantity(f.GetNom()) + q); break; case "tulipe": this.SetQuantite(1, this.GetFleurQuantity(f.GetNom()) + q); break; case "oeillet": this.SetQuantite(2, this.GetFleurQuantity(f.GetNom()) + q); break; default: Console.Error.WriteLine("Aucune fleur n'a été ajoutée"); break; } } public Boolean BouquetFaisable(Bouquet b) { return (this.quantite[0] > b.GetLot0().GetQuantite() || this.quantite[1] > b.GetLot1().GetQuantite() || this.quantite[2] > b.GetLot2().GetQuantite()); } public override String ToString() { return "Il y a en stock " + this.GetFleurQuantity("rose") + " roses, " + this.GetFleurQuantity("tulipe") + " tulipes et " + this.GetFleurQuantity("oeillet") + " oeillets. "; } public int GetFleurQuantity(String s) { switch (s.ToLower()) { case "rose": return this.GetQuantite(0); case "tulipe": return this.GetQuantite(1); case "oeillet": return this.GetQuantite(2); default: Console.Error.WriteLine("Aucune fleur n'a été ajoutée"); return 0; } } public void SetFleurQuantity(String f, int q) { switch (f.ToLower()) { case "rose": this.SetQuantite(0, q); break; case "tulipe": this.SetQuantite(1, q); break; case "oeillet": this.SetQuantite(2, q); break; default: Console.Error.WriteLine("Aucune fleur n'a été ajoutée"); break; } } private void SetQuantite(int index, int i) { this.quantite[index] = i; } private int GetQuantite(int i) { return this.quantite[i]; } } }