81 lines
2.0 KiB
C#
81 lines
2.0 KiB
C#
|
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];
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|