private static void SetSoldeCaisse()
        {
            Console.Clear();
            Console.WriteLine("Solde de la Caisse : " + Caisse.soldeCaisse + " euros\n");
            Console.WriteLine("1 - Ajouter de l'argent dans la caisse\n2 - Retirer de l'argent de la caisse\n0 - Retour");
            string gererCaisse = Console.ReadLine();
            int    GererCaisse = Utilitaire.TestValeur(gererCaisse, true).Item1;

            if (GererCaisse == 1)
            {
                Console.Clear();
                Console.WriteLine("Solde de la Caisse : " + Caisse.soldeCaisse + " euros\n");
                Console.WriteLine("Entrer le montant à ajouter dans la caisse : \n");
                string  setSolde = Console.ReadLine();
                decimal SetSolde = Utilitaire.TestValeur(setSolde, false).Item2;
                Caisse.AjouterArgent(SetSolde, idCaisse);
            }
            else if (GererCaisse == 2)
            {
                Console.Clear();
                Console.WriteLine("Solde de la Caisse : " + Caisse.soldeCaisse + " euros\n");
                Console.WriteLine("Entrer le montant à retirer de la caisse : \n");
                string  setSolde = Console.ReadLine();
                decimal SetSolde = Utilitaire.TestValeur(setSolde, false).Item2;
                Caisse  caisse   = new Caisse();
                Caisse.RetirerArgent(SetSolde, idCaisse);
            }
            else if (GererCaisse == 0)
            {
            }
        }
        static void Main(string[] args)
        {
            List <Article> ListeArticle = new List <Article>();
            List <Article> ListePanier  = new List <Article>();

            Data.Database database = new Data.Database();
            Caisse        caisse   = new Caisse();

            Caisse.GetSolde(database.SelectSoldeCaisse(idCaisse));
            ListMenu(ListePanier);
        }
        public static void AchatArticle(List <Article> ListePanier, Database db)
        {
            Data.Database database = new Data.Database();
            Caisse        caisse   = new Caisse();

            Console.Clear();
            Console.WriteLine("1 - Afficher le panier\n2 - Rechercher un article par nom\n3 - Rechercher un article par référence\n0 - Retour");
            string choice1 = Console.ReadLine();
            int    result1 = Utilitaire.TestValeur(choice1, true).Item1;

            switch (result1)
            {
            case 1:     // afficher le panier OK
                Console.Clear();
                Console.WriteLine("Solde de la Caisse : " + Caisse.soldeCaisse + " euros\n");
                Console.WriteLine("Contenu du panier :\n");
                printInventory(ListePanier);
                Console.WriteLine("1 - Valider la commande\n2 - Retirer un article du panier\n3 - Vider le panier\n0 - Retour");
                string choice = Console.ReadLine();
                int    choix  = Utilitaire.TestValeur(choice, true).Item1;
                if (choix == 1)     // Valider commande OK
                {
                    printInventory(ListePanier);
                    Console.WriteLine("Souhaitez vous vraiment valider le Panier ?");
                    string valider = Console.ReadLine();
                    int    Valider = Utilitaire.TestValeur(valider, true).Item1;
                    if (Valider == 1)
                    {
                        db.InsertCommandeVente(ListePanier);
                        db.MouvementStockVente(ListePanier);
                        decimal TotalCommande = db.TotalCommandeVente(ListePanier);
                        Caisse.AjouterArgent(TotalCommande, idCaisse);
                        ListePanier.Clear();
                        Console.WriteLine("Commande passé merci");
                        Console.ReadLine();
                    }
                }
                else if (choix == 2)     // Retirer un article du panier
                {
                    Console.Clear();
                    Console.WriteLine("Entrer la référence de l'article à supprimer\n");
                    string inputReference = Console.ReadLine();
                    if (Utilitaire.RefArticleExisteDansList(ListePanier, inputReference))
                    {
                        Article article = Utilitaire.ArticleExiste(ListePanier, inputReference);
                        ListePanier.Remove(article);
                        Console.WriteLine("Produit retiré du Panier\n");
                        Console.ReadLine();
                    }
                    else
                    {
                        Console.WriteLine("Ce Produit ne se trouve pas dans le Panier\n");
                        Console.ReadLine();
                    }
                }
                else if (choix == 3)     // Vider le panier
                {
                    ListePanier.Clear();
                }
                else if (choix == 0)     // Retour menu principal
                {
                    AchatArticle(ListePanier, db);
                }

                break;

            case 2:     //Rechercher un article par nom
                Console.Clear();
                Console.WriteLine("Entrer le nom de l'article\n");
                string  inputNom = Console.ReadLine();
                Article a        = database.SelectArticleParNom(inputNom);
                if (a != null)
                {
                    Console.Clear();
                    Console.WriteLine($"Article trouvé, Nom: {a.Nom} Réference:{a.Reference} Description:{a.Description} Prix_HT:{a.Prix_achat} Code:{a.Code_fournisseur} Marge:{a.Marge_benef} QuantitéDispo{a.QuantiteStock}\n");
                    QuantiteAjoutPanier(a, ListePanier);
                }
                break;

            case 3:     //Rechercher un article par référence
                Console.Clear();
                Console.WriteLine("Entrer la référence de l'article\n");
                string  inputRef = Console.ReadLine();
                Article b        = database.SelectArticleParReference(inputRef);
                if (b != null)
                {
                    Console.Clear();
                    Console.WriteLine($"Article trouvé, Nom: {b.Nom} Réference:{b.Reference} Description:{b.Description} Prix_HT:{b.Prix_achat} Code:{b.Code_fournisseur} Marge:{b.Marge_benef} QuantitéDispo{b.QuantiteStock}\n");
                    QuantiteAjoutPanier(b, ListePanier);
                }
                break;

            case 0:     //Retour menu principal
                Console.Clear();
                ListMenu(ListePanier);
                break;

            default:
                break;
            }
        }
        private static void AjouterArticleStock(Database database)
        {
            Console.Clear();
            Console.WriteLine("Remplir les informations du nouveau produit à ajouter dans le stock : ");
            Console.WriteLine("Nom du produit : ");
            name = Console.ReadLine();

            Console.WriteLine("\nNumero de référence du produit : ");
            reference = Console.ReadLine();
            if (database.SelectReferenceExist(reference))
            {
                do
                {
                    Console.Clear();
                    Console.WriteLine("\nUn produit existe déja sous cette référence, Utilisez une autre référence :\n");
                    reference = Console.ReadLine();
                } while (database.SelectReferenceExist(reference));
            }

            Console.WriteLine("\nDescription du produit : ");
            description = Console.ReadLine();

            Console.WriteLine("\nCode fournisseur du produit : ");
            string codeIn = Console.ReadLine();

            code = Utilitaire.TestValeur(codeIn, true).Item1;

            if (database.SelectFournisseurExist(code) == false)
            {
                do
                {
                    Console.Clear();
                    Console.WriteLine("\nCe Fournisseur n'existe pas, Utilisez un autre code fournisseur :\n");
                    codeIn = Console.ReadLine();
                    code   = Utilitaire.TestValeur(codeIn, true).Item1;
                } while (database.SelectFournisseurExist(code) == false);
            }

            Console.WriteLine("\nPrix HT du produit : ");
            string prixIn = Console.ReadLine();

            prixHT = Utilitaire.TestValeur(prixIn, false).Item2;

            Console.WriteLine("\nMarge du produit : ");
            string margeIn = Console.ReadLine();

            marge = Utilitaire.TestValeur(margeIn, false).Item2;

            Console.WriteLine("\nQuantité à acheter : ");
            string quantityIn = Console.ReadLine();

            quantiteDispo = Utilitaire.TestValeur(quantityIn, true).Item1;

            Console.WriteLine("\nNumero d'Entrepot où sera stocké le produit : ");
            string idEntrepotIn = Console.ReadLine();

            idEntrepot = Utilitaire.TestValeur(idEntrepotIn, true).Item1;

            if (database.SelectEntrepotExist(idEntrepot) == false)
            {
                do
                {
                    Console.Clear();
                    Console.WriteLine("\nCet Entrepot n'existe pas, Utilisez un autre code Entrepot :\n");
                    idEntrepotIn = Console.ReadLine();
                    idEntrepot   = Utilitaire.TestValeur(idEntrepotIn, true).Item1;
                } while (database.SelectEntrepotExist(idEntrepot) == false);
            }

            article = new Article(name, reference, description, prixHT, marge, code, quantiteDispo, qteCommande);

            database.CreerArticle(article, idEntrepot);
            decimal TotalCommande = database.TotalCommandeAchat(prixHT, quantiteDispo);
            Caisse  caisse        = new Caisse();

            Caisse.RetirerArgent(TotalCommande, idCaisse);
        }