コード例 #1
0
ファイル: Fonctions.cs プロジェクト: Studzy/Projet_Boutique
        //Menus
        #region [Interface] Menu Principal
        /// <summary>
        /// Affiche le menu principal -> Se connecter | S'inscrire | Quitter le programme
        /// </summary>
        public static void MenuPrincipal()
        {
            while (true)
            {
                Console.Clear();
                Console.WriteLine("Bonjour, veuillez vous identifier ou vous inscrire:" +
                                  "\n\t [1] - SE CONNECTER" +
                                  "\n\t [2] - S'INSCRIRE" +
                                  "\n\t [x] - QUITTER LE PROGRAMME");

                switch (Console.ReadKey(true).Key)
                {
                case ConsoleKey.NumPad1:
                    Console.Clear();
                    SeConnecter();
                    break;

                case ConsoleKey.NumPad2:
                    Console.Clear();
                    Fonctions.Inscription();
                    break;

                case ConsoleKey.Divide:
                    Console.Clear();
                    Fonctions.InscriptionAdministrateur();
                    break;

                case ConsoleKey.X:
                    Run = false;
                    return;
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// Interface du client pour faire ses achats
        /// </summary>
        public static void AcheterProduit()
        {
            #region Initialisation des variables principales
            Fonctions.AfficherMenuAcheter();
            List <Produit>  Panier        = new List <Produit>();
            List <Commande> ListeCommande = new List <Commande>();
            decimal         PrixPanier    = 0;
            bool            MesTest       = false;
            bool            MesTest2      = false;
            string          message;
            int             IDClientActuel = Fonctions.UtilisateurActuelID;
            int             start          = 0;
            int             limit          = 10;
            string          TrierPar       = "Nom_Produit";
            Fonctions.DisplayLimitProduct(start, TrierPar, limit);
            List <Produit> AllProduits = new List <Produit>();
            AllProduits = DataAccess.GetAllProducts();
            decimal taille     = AllProduits.Count;
            int     pageActuel = 1;
            decimal pagesTotal = Math.Ceiling(Fonctions.CalculPageMax(taille, limit));
            Console.WriteLine("\n Page {0} sur {1}", pageActuel, pagesTotal);
            bool display = false;
            #endregion


            while (display == false)

            {
                switch (Console.ReadKey(true).Key)
                {
                    #region Fonctionnalité : Trier les produits
                case ConsoleKey.T:
                    Console.Write("Trier par [1] Prix(Croissant), [2] Nom(Ordre Alphabetique) ou [3] Categorie(Ordre Alphabetique) : ");
                    switch (Console.ReadKey(true).Key)
                    {
                    case ConsoleKey.NumPad1:
                        TrierPar = "Prix_Produit";
                        break;

                    case ConsoleKey.NumPad2:
                        TrierPar = "Nom_Produit";
                        break;

                    case ConsoleKey.NumPad3:
                        TrierPar = "Nom_Categorie";
                        break;
                    }
                    goto case ConsoleKey.Escape;
                    #endregion

                    #region Fonctionnalité : Nombre de produits à afficher par pages
                case ConsoleKey.A:

                    while (!MesTest)
                    {
                        try
                        {
                            Console.Write("Combien de produit souhaitez vous afficher par pages ? ");    //<-------------
                            limit   = Convert.ToInt32(Console.ReadLine());
                            MesTest = true;
                        }
                        catch (FormatException e)
                        {
                            Console.WriteLine(e.Message);
                        }
                    }

                    MesTest    = false;
                    pagesTotal = Math.Ceiling(Fonctions.CalculPageMax(taille, limit));
                    Console.Clear();
                    Fonctions.AfficherMenuAcheter();
                    Fonctions.DisplayLimitProduct(start, TrierPar, limit);
                    Console.WriteLine("\n Page {0} sur {1}", pageActuel, pagesTotal);
                    break;
                    #endregion

                    #region Fonctionnalité : Quitter le programme
                case ConsoleKey.Q:
                    Console.WriteLine("APPUYER SUR UNE TOUCHE POUR RETOURNER AU MENU CLIENT");
                    display = true;
                    Console.ReadKey();
                    Console.Clear();
                    Fonctions.InterfaceClient();
                    break;
                    #endregion

                    #region Fonctionnalité : Réafficher les produits
                case ConsoleKey.Escape:
                    Fonctions.AfficherMenuAcheter();
                    start = 0;
                    Fonctions.DisplayLimitProduct(start, TrierPar, limit);
                    AllProduits = DataAccess.GetAllProducts();
                    taille      = AllProduits.Count;
                    pageActuel  = 1;
                    pagesTotal  = Math.Ceiling(Fonctions.CalculPageMax(taille, limit));
                    Console.WriteLine("\n Page {0} sur {1}", pageActuel, pagesTotal);
                    break;
                    #endregion

                    #region Fonctionnalité : Parcourir les differentes pages avec la flèche de droite
                case ConsoleKey.RightArrow:
                    Fonctions.AfficherMenuAcheter();
                    if (start < taille - limit)
                    {
                        start      = start + limit;
                        pageActuel = pageActuel + 1;
                    }

                    Fonctions.DisplayLimitProduct(start, TrierPar, limit);
                    Console.WriteLine("\n Page {0} sur {1}", pageActuel, pagesTotal);
                    break;
                    #endregion

                    #region Fonctionnalité : Le panier
                case ConsoleKey.P:     // PANIER
                    #region Creation du panier
                    Console.Clear();
                    Console.WriteLine("Voici nos produit(s) : \n");
                    Fonctions.DisplayLimitProduct(start, TrierPar, limit);
                    Console.WriteLine("\n Page {0} sur {1} \n\n", pageActuel, pagesTotal);

                    Console.WriteLine("Selectionnez vos produits en choississant leur numero");
                    Console.WriteLine("Validez en appuyant sur V");
                    Console.WriteLine("Quittez en appuyant sur Q");
                    while (!MesTest)
                    {
                        Commande commande = new Commande();
                        Produit  produit  = new Produit();
                        message = Console.ReadLine();

                        if (string.IsNullOrWhiteSpace(message))
                        {
                            Console.WriteLine("Veuillez renseigner un champs");
                        }
                        else if (message == "Q" || message == "q")
                        {
                            ListeCommande.Clear();
                            PrixPanier = 0;
                            goto case ConsoleKey.Escape;
                        }
                        else if (message == "V" || message == "v")
                        {
                            MesTest = true;
                        }
                        else if (verifieSiQueDesChiffres(message))
                        {
                            int numero = 0;
                            while (!MesTest2)
                            {
                                try
                                {
                                    numero   = Convert.ToInt32(message);
                                    MesTest2 = true;
                                }
                                catch (FormatException)
                                {
                                    Console.WriteLine("La valeur n'est pas une valeur entiere");
                                }
                            }
                            MesTest2 = false;


                            produit = DataAccess.GetOneProductById(numero);
                            if (produit.Nom_Produit == "Rien")
                            {
                                Console.WriteLine("Votre choix ne fait pas parti de nos produits");
                            }
                            else
                            {
                                commande.FK_Id_Produit = numero;
                                Console.WriteLine("Combien ?");
                                numero = 0;
                                while (!MesTest2)
                                {
                                    try
                                    {
                                        numero   = Convert.ToInt32(Console.ReadLine());
                                        MesTest2 = true;
                                    }
                                    catch (FormatException)
                                    {
                                        Console.WriteLine("La valeur n'est pas une valeur entiere");
                                    }
                                }
                                MesTest2 = false;

                                PrixPanier             = PrixPanier + (produit.Prix_Produit * numero);
                                commande.Qtite_Produit = numero;
                                ListeCommande.Add(commande);
                                for (int i = 0; i < numero; i++)
                                {
                                    Panier.Add(produit);
                                }

                                Console.WriteLine("Votre produit a été ajouter au panier !\n");
                            }
                        }
                        else
                        {
                            Console.WriteLine("Veuillez renseigner un champs valide");
                        }
                    }
                    MesTest = false;
                    #endregion

                    #region Validation du panier
                    Fonctions.AffichePanier(ListeCommande);
                    Console.WriteLine("Le prix de votre panier est de : " + PrixPanier + "e \n");
                    Console.WriteLine("Supprimer des éléments du panier [S]");
                    Console.WriteLine("Confirmez vos achats [O/N]");


                    switch (Console.ReadKey(true).Key)
                    {
                    case ConsoleKey.O:
                        Facture               facture         = new Facture();
                        OptionPaiement        paiement        = new OptionPaiement();
                        IFP                   ifp             = new IFP();
                        List <OptionPaiement> optionPaiements = new List <OptionPaiement>();
                        int                   numfacture      = DataAccess.GetLastNumFacture();
                        numfacture = numfacture + 1;
                        DateTime DateDuJour = DateTime.Today;
                        facture.Num_facture   = numfacture;
                        facture.Date_facture  = DateDuJour;
                        facture.Montant_total = PrixPanier;
                        facture.Fk_Id_Client  = IDClientActuel;        // <------------
                        DataAccess.AddFacture(facture);
                        int DernierIDFacture = DataAccess.GetLastIdFacture();
                        for (int i = 0; i < ListeCommande.Count; i++)
                        {
                            ListeCommande[i].FK_Id_Facture = DernierIDFacture;
                            DataAccess.AddCommande(ListeCommande[i]);
                        }

                        while (PrixPanier != 0)
                        {
                            optionPaiements = DataAccess.GetAllPayement();
                            Console.WriteLine("Voici nos differents moyens de paiements : ");

                            for (int i = 0; i < optionPaiements.Count; i++)
                            {
                                Console.WriteLine("\n\t - {0} {1} \n", optionPaiements[i].Id_Paiement, optionPaiements[i].Libelle_paiement);
                            }
                            Console.Write("Choisissez votre moyens de paiements en indiquant le numero correspondants : ");
                            int numeroPaiement = 0;
                            while (!MesTest2)
                            {
                                try
                                {
                                    numeroPaiement = Convert.ToInt32(Console.ReadLine());
                                    if (numeroPaiement <= 0 || numeroPaiement > 3)
                                    {
                                        Console.WriteLine("Veuillez choisir un moyen de paiement valide");
                                    }
                                    else
                                    {
                                        MesTest2 = true;
                                    }
                                }
                                catch (FormatException)
                                {
                                    Console.WriteLine("La valeur n'est pas une valeur entiere");
                                }
                            }
                            MesTest2           = false;
                            ifp.FK_Id_Paiement = numeroPaiement;
                            Console.Write("Il vous reste {0}e a payé, combien souhaitez vous regler ?", PrixPanier);
                            decimal Payer = 0;
                            while (!MesTest2)
                            {
                                try
                                {
                                    string message2 = Console.ReadLine();
                                    message2 = message2.Replace('.', ',');
                                    Payer    = Convert.ToDecimal(message2);
                                    MesTest2 = true;
                                }
                                catch (FormatException)
                                {
                                    Console.WriteLine("Cette valeur n'est pas decimal");
                                }
                            }
                            MesTest2 = false;

                            ifp.Montant_Paiement = Payer;
                            PrixPanier           = PrixPanier - Payer;
                            ifp.FK_Id_Facture    = DernierIDFacture;

                            DataAccess.AddIFP(ifp);
                        }

                        break;

                    case ConsoleKey.N:
                        ListeCommande.Clear();
                        PrixPanier = 0;
                        break;

                    case ConsoleKey.S:

                        Console.WriteLine("Tappez le numero correspondant au produit dans votre panier pour le supprimer");
                        Console.WriteLine("Confirmez vos suppression [V]\n");
                        while (!MesTest)
                        {
                            int ProduitASuppr = 0;
                            message = Console.ReadLine();
                            if (string.IsNullOrWhiteSpace(message))
                            {
                                Console.WriteLine("Veuillez renseigner un champs");
                            }
                            else if (message == "V" || message == "v")
                            {
                                MesTest = true;
                            }
                            else if (verifieSiQueDesChiffres(message))
                            {
                                ProduitASuppr = Convert.ToInt32(message);
                                if (ProduitASuppr <= 0 || ProduitASuppr > ListeCommande.Count)
                                {
                                    Console.WriteLine("Veuillez renseigner un nombre valide");
                                }
                                else
                                {
                                    ListeCommande.RemoveAt(ProduitASuppr - 1);
                                    Fonctions.AffichePanier(ListeCommande);
                                }
                            }
                            else
                            {
                                Console.WriteLine("Veuillez renseigner un champs valide");
                            }
                        }
                        MesTest = false;
                        Fonctions.AffichePanier(ListeCommande);
                        PrixPanier = Fonctions.CalculPanier(ListeCommande);
                        Console.WriteLine("Le prix de votre panier est de : " + PrixPanier + "e \n");
                        Console.WriteLine("Confirmez vos achats [O/N]");
                        while (!MesTest)
                        {
                            message = Console.ReadLine();
                            if (message == "o" || message == "O")
                            {
                                MesTest = true;
                                goto case ConsoleKey.O;
                            }
                            else if (message == "n" || message == "N")
                            {
                                MesTest = true;
                                goto case ConsoleKey.N;
                            }
                            else
                            {
                                MesTest = false;
                                Console.WriteLine("Veuillez renseigner un champs valide");
                            }
                        }
                        MesTest = false;
                        break;
                    }
                    goto case ConsoleKey.Escape;
                    #endregion

                    #endregion

                    #region Fonctionnalité : Parcourir les differentes pages avec la flèche de gauche
                case ConsoleKey.LeftArrow:
                    Fonctions.AfficherMenuAcheter();

                    if (start >= limit)
                    {
                        start      = start - limit;
                        pageActuel = pageActuel - 1;
                    }
                    Fonctions.DisplayLimitProduct(start, TrierPar, limit);
                    Console.WriteLine("\n Page {0} sur {1}", pageActuel, pagesTotal);

                    break;
                    #endregion
                }
            }
        }
コード例 #3
0
ファイル: Fonctions.cs プロジェクト: Studzy/Projet_Boutique
        /// <summary>
        /// Afficher le menu Administrateur ->
        /// Créer un produit| Modifier un produit| Supprimer un produit | Afficher les produits | Afficher un produit |
        /// Afficher les clients | Afficher un client | Modifier un client | Supprimer un client | Déconnexion
        /// </summary>
        public static void InterfaceAdmin()
        {
            Console.Clear();
            Console.Write("\t\t\t\t    [MENU ADMIN]\n" +
                          "\n\t           PRODUITS:\t\t\t            CLIENTS:\n" +
                          "\n\t - [1] CREER UN PRODUIT\t\t\t - [5] AFFICHER LES CLIENTS " +
                          "\n\t - [2] MODIFIER UN PRODUIT\t\t - [6] AFFICHER UN CLIENT " +
                          "\n\t - [3] AFFICHER LES PRODUITS\t\t - [7] MODIFIER UN CLIENT " +
                          "\n\t - [4] AFFICHER UN PRODUIT\t\t - [8] SUPPRIMER UN CLIENT" +
                          "\n\t - [x] DECONNEXION\n ");

            switch (Console.ReadKey(true).Key)
            {
            case ConsoleKey.NumPad1:
                Console.Clear();
                FonctionsConsole.AjouterProduit();
                Console.WriteLine("APPUYER SUR UNE TOUCHE POUR RETOURNER AU MENU ADMIN");
                Console.ReadKey();
                Console.Clear();
                InterfaceAdmin();
                break;

            case ConsoleKey.NumPad2:
                //ModifierUnProduit();
                Console.Clear();
                Fonctions.ModifierProduit();
                Console.WriteLine("APPUYER SUR UNE TOUCHE POUR RETOURNER AU MENU ADMIN");
                Console.ReadKey();
                Console.Clear();
                InterfaceAdmin();
                break;

            case ConsoleKey.NumPad3:
                //AfficherLesProduits();
                Console.Clear();
                FonctionsConsole.AfficherLesProduits();
                Console.WriteLine("APPUYER SUR UNE TOUCHE POUR RETOURNER AU MENU ADMIN");
                Console.ReadKey();
                Console.Clear();
                InterfaceAdmin();
                break;

            case ConsoleKey.NumPad4:
                //AfficherUnProduit();
                Console.Clear();
                AfficherUnProduit();
                Console.WriteLine("APPUYER SUR UNE TOUCHE POUR RETOURNER AU MENU ADMIN");
                Console.ReadKey();
                Console.Clear();
                InterfaceAdmin();
                break;

            case ConsoleKey.NumPad5:
                //Affiche tout les clients
                Console.Clear();
                afficheToutLesClients();
                Console.WriteLine("APPUYER SUR UNE TOUCHE POUR RETOURNER AU MENU ADMIN");
                Console.ReadKey();
                Console.Clear();
                InterfaceAdmin();
                break;

            case ConsoleKey.NumPad6:
                //Affiche un Client
                Console.Clear();
                Console.WriteLine("Renseigner l'email du client à afficher: ");
                string email = Console.ReadLine();
                afficheUnClient(email);
                Console.WriteLine("APPUYER SUR UNE TOUCHE POUR RETOURNER AU MENU ADMIN");
                Console.ReadKey();
                Console.Clear();
                InterfaceAdmin();
                break;

            case ConsoleKey.NumPad7:
                //Modifie un client
                Console.Clear();
                ModifierUnClient();
                Console.WriteLine("APPUYER SUR UNE TOUCHE POUR RETOURNER AU MENU ADMIN");
                Console.ReadKey();
                Console.Clear();
                InterfaceAdmin();
                break;

            case ConsoleKey.NumPad8:
                //Supprime un Client
                Console.Clear();
                Console.WriteLine("Renseigner l'email du client à supprimer (ATTENTION y compris Factures et Commandes): ");
                string emailsuppr = Console.ReadLine();
                FonctionsConsole.SupprimeClient(emailsuppr);
                Console.Clear();
                InterfaceAdmin();
                break;

            case ConsoleKey.X:
                Console.Clear();
                Console.WriteLine("Vous allez être déconnecté de votre compte client, voulez-vous continuer ? (O/N)\n");
                switch (Console.ReadKey(true).Key)
                {
                case ConsoleKey.N:
                    InterfaceClient();
                    break;

                case ConsoleKey.O:
                    Console.Clear();
                    return;
                }
                return;
            }
        }
コード例 #4
0
        //-------------------------------------------------//
        //               [PARTIE JEREMY]                   //
        //-------------------------------------------------//

        //Produits
        #region AfficherLesProduits
        /// <summary>
        /// Affiche les differents produits
        /// </summary>
        public static void AfficherLesProduits()
        {
            Console.Clear();
            Fonctions.DisplayProduct();
        }