public bool VerifTout(Pieces [] piece, Client client)  // verifie qui ne depasse pas le montant autorisé (5balles) auquel cas return ok
        {
            int cpt = 0, valeur1piece = 0, valeurtot = 0;

            while (cpt < client.NbPiece)
            {
                valeur1piece = VerifUnePiece(piece[cpt], client);
                valeurtot    = valeurtot + valeur1piece;
                if (client.Remboursement == true) // si le client veux un remboursement
                {
                    goulotte.RendrePiecesRemboursement(piece, client);
                    return(false);
                }
                cpt++;
            }
            Afficheur.MontantTot(valeurtot);
            if (valeurtot < client.PrixObjet)  // lorsqu'il y a pas assez de sous insérés pour le prix, ça rend tout
            {
                goulotte.RendrePiecesRemboursement(piece, client);
                return(false);
            }
            if (valeurtot > client.PrixObjet)  // lorsqu'il y a trop de sous insérés pour le prix
            {
                goulotte.RendrePiecesTrop(client, valeurtot);
                return(true);        // on va quand même ranger les pieces du client vu qu'on lui a donner des nouvelles pièces
            }
            Afficheur.RendreSous(0); // rend 0 euros au client si la valeur totale mise équivaut au prix de l'objet
            return(true);
        }
        public void RendrePiecesTrop(Client client, int valeurTot)
        {
            Pieces[] piecerendre = new Pieces [50]; // ne peut rendre que 50 pièce maximum (protection du distributeur)
            int      remboursement;

            remboursement = valeurTot - client.PrixObjet;
            Afficheur.RecevoirTropSomme(remboursement);
            piecerendre = Conversion.ConverRemboursement(remboursement, piecerendre, 50);
            client.PrendreMonnaie(piecerendre, 50);
        }
Beispiel #3
0
        public void EtatsTubes()
        {
            int nombre1, nombre2, nombre3, nombre4, nombre5, nombre6;

            nombre1 = new Cinqcentimes().GetPiece();
            nombre2 = new Dixcentimes().GetPiece();
            nombre3 = new Vingtcentimes().GetPiece();
            nombre4 = new Cinquantecentimes().GetPiece();
            nombre5 = new Uneuro().GetPiece();
            nombre6 = new Deuxeuro().GetPiece();
            Afficheur.EtatMachineTube(nombre1, nombre2, nombre3, nombre4, nombre5, nombre6);
        }
Beispiel #4
0
        public void EtatsCaisse(Caisse caisse)
        {
            int nombre1, nombre2, nombre3, nombre4, nombre5, nombre6, nombre7;

            nombre1 = caisse.CapacitePieceSpecifique(new Cinqcentimes());
            nombre2 = caisse.CapacitePieceSpecifique(new Dixcentimes());
            nombre3 = caisse.CapacitePieceSpecifique(new Vingtcentimes());
            nombre4 = caisse.CapacitePieceSpecifique(new Cinquantecentimes());
            nombre5 = caisse.CapacitePieceSpecifique(new Uneuro());
            nombre6 = caisse.CapacitePieceSpecifique(new Deuxeuro());
            nombre7 = caisse.CapaciteTotale();
            Afficheur.EtatMachineCaisse(nombre1, nombre2, nombre3, nombre4, nombre5, nombre6, nombre7);
        }
        public int VerifUnePiece(Pieces piece, Client client)  //retourne valeur numerique d'une piece + verifie qualité de la piece
        {
            int valeur = 0;

            try
            {
                valeur = Conversion.ConverPieces(piece);
            }
            catch (Exception)
            {
                Afficheur.RecevoirPieceInconnu();
                goulotte.RendreUnePiece(piece, client);
            }
            return(valeur);
        }
        public void RangerPiece(Pieces[] piece, Caisse caisse, Client client)
        {
            int cpt = 0, colonne;

            Conversion.ConverPieces(piece[cpt]);
            while (cpt < client.NbPiece)
            {
                if (piece[cpt].GetPiece() == 0)     // si y'a plus de place dans la tube stock à la caisse
                {
                    colonne = Conversion.ConverColonnes(piece[cpt]);
                    caisse.StockPiece(colonne);
                }
                piece[cpt].AjoutPiece(1);
                cpt++;
            }
            Afficheur.StockPiece();
        }
        public Pieces InsertionUnePiece()
        {
            int choix;

            choix = Afficheur.Choisir();

            switch (choix)
            {
            case 1:
                Console.WriteLine("Vous avez inséré une pièce de 5 centimes. ");
                return(new Cinqcentimes());

            case 2:
                Console.WriteLine("Vous avez inséré une pièce de 10 centimes. ");
                return(new Dixcentimes());

            case 3:
                Console.WriteLine("Vous avez inséré une pièce de 20 centimes. ");
                return(new Vingtcentimes());

            case 4:
                Console.WriteLine("Vous avez inséré une pièce de 50 centimes. ");
                return(new Cinquantecentimes());

            case 5:
                Console.WriteLine("Vous avez inséré une pièce de 1 euro. ");
                return(new Uneuro());

            case 6:
                Console.WriteLine("Vous avez inséré une pièce de 2 euros. ");
                return(new Deuxeuro());

            case 9:
                Console.WriteLine("Vous avez activer un remboursement de la somme introduite. ");
                Remboursement = true;
                return(null);

            default:
                throw new Exception(String.Format("Sélection invalide."));
            }
        }
        public Pieces [] IntroduireSomme()
        {
            Pieces[] piece;
            int      cpt = 0;

            NbPiece = Afficheur.RecevoirNombrePiece();
            Console.WriteLine("Vous souhaitez insérer {0} pièces", NbPiece);
            piece = new Pieces[NbPiece];

            while (cpt < NbPiece)
            {
                piece [cpt] = InsertionUnePiece();
                if (Remboursement == true)
                {
                    return(piece);
                }
                cpt++;
            }

            return(piece);
        }
 public void RendrePiecesRemboursement(Pieces[] piece, Client client)
 {
     client.PrendreMonnaie(piece, client.NbPiece);
     Afficheur.RecevoirPasAssez();
 }