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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
|
package Pack_Mag;
public class Panier{
private int nbProduitsPanier = 0;
private Produit[] stockPanier = new Produit[1000];
public Produit getStockPanier(int reference) {
return stockPanier[reference];
}
public void ajouterProduitPanier(String nom, int Q) {
stockPanier[nbProduitsPanier] = new Produit(nom, Q);
nbProduitsPanier++;
}
public void ajouterLivrePanier(String nom, int Q) {
stockPanier[nbProduitsPanier] = new Livre(nom, Q);
nbProduitsPanier++;
}
public void afficherBilanPanier() {
Terminal.println("Liste de Produit contenu dans le panier");
for (int i = 0; i < nbProduitsPanier; i++){
Terminal.println("Produit: " + stockPanier[i].getNom() +
"\nQuantité: " + stockPanier[i].getQuantite() +
"\nLe Total TTC : " +
(Magasin.getInstance().
rechercherProduit(stockPanier[i].getNom()).
getPrixVente()) *
(Magasin.getInstance().
rechercherProduit(stockPanier[i].getNom()).
getQuantite()) +
"\n--------------------------------------------------------");
}
}
public Produit choisirProduit() {
Terminal.println("Choisissez votre produit:");
for (int i = 0; i < nbProduitsPanier; i++)
Terminal.println(i + "-)> " + stockPanier[i].getNom());
int indexProduit = Terminal.readInt("--");
return stockPanier[indexProduit];
}
//Méthode pour décompter les produits du panier et leur quantité du stock magasin
public void decompteStock(){
for (int i = 0; i < nbProduitsPanier; i++) {
Produit x = Magasin.getInstance().rechercherProduit(stockPanier[i].getNom());
Magasin.getInstance().vendreProduit(x,stockPanier[i].getQuantite());
}
}
//Méthode pour réinitialiser le chariot
public void razPanier(){
for (int i=0; i < nbProduitsPanier;i++){
stockPanier[i] = null;
}
}
public void interactionProduitPanier() {
int choix = 0;
while (choix!=4) { // condition de sortie
Terminal.println("_______________________________________________");
Terminal.println("************Interface Gestion Panier**********");
Terminal.println("_______________________________________________");
Terminal.println("**********************");
Terminal.println("Menu Gestion Panier");
Terminal.println("**********************");
Terminal.println("\t 1 --> Ajouter un produit du Chariot");
Terminal.println("\t 2 --> Afficher un bilan");
Terminal.println("\t 3 --> Payer");
Terminal.println("\t 4 --> Quitter");
choix = Terminal.readInt("");
//switch est utilisé pour le choix
switch (choix) {
case 1: // Cas d'ajout de produit
int choix_type = Terminal.readInt(
"Quel type de produit voulez vous ajouter dans le panier:\n1 -)> Livre\n2 -)> Produit Standard");
if (choix_type == 1){
String nomP = Terminal.readString("Titre du livre: ");
int Quantite = Terminal.readInt("Quantité : ");
ajouterLivrePanier(nomP,Quantite);
}
if (choix_type == 2){
String nomP = Terminal.readString("Nom du Produit: ");
int Q = Terminal.readInt("Quantité : ");
ajouterProduitPanier(nomP,Q);
}
break;
//-------------------------------------------------------------
case 2: // Cas d'afficharge du bilan
afficherBilanPanier();
break;
case 3: // Cas de paye
int choix_paye = Terminal.readInt(
"Pour quel type de payement opter vous : \n1 -)>Payement comptant \n2 -)> Payement différé");
if (choix_paye ==1){
Terminal.println("**********************");
Terminal.println("Payement au comptant");
Terminal.println("**********************");
Terminal.println("Débit immédiat :");
Terminal.println("Payement de : \n");
for (int i=1;i<=nbProduitsPanier;i++){
Terminal.println("---------------");
stockPanier[i].getNom();
stockPanier[i].getPrixVente();
stockPanier[i].getQuantite();
Terminal.println("---------------");
}
//Méthode pour décompter les produits du panier et leur quantité du stock magasin
decompteStock();
//remise à zero du panier
razPanier();
}
//Payement différé
if (choix_paye ==2){
int choix_cli = Terminal.readInt(
"Êtes vous client: 1 -> oui \n2 -> non");
if (choix_cli == 1) {
String nomCli = Terminal.readString("Quel est votre nom ?");
//vérification client , si n'existe pas
//création client
//décompte du stock et réinitialisation du panier
decompteStock();
razPanier();
}
}
break;
case 4:
Pack_Mag.MenuPrincipal.getInstance().viewMenu();
break;
} //fin switch
} //fin while
} //fin interractionProduit
} |