81 lines
2.0 KiB
C#
Raw Normal View History

2022-09-22 09:59:36 +02:00
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];
}
}
}