コード例 #1
0
ファイル: Program.cs プロジェクト: Pierrot795/Cookapp
        /// <summary>
        /// MenuDemo(MySqlConnection connexion) correspond au menu permettant d'accéder aux fonctions évaluateurs.
        /// Vous pouvez choisir, en tapant sur les touches indiquées, d'afficher le nombre de clients de l'application, le nombre de recettes,
        /// la liste des cdr, la liste des produits dont le stock actuel est inférieur au double du stock minimal, ainsi que les recettes contenant ces produits.
        /// </summary>
        /// <param name="connexion">connexion permet d'accéder à la base par des requetes commandées depuis C#</param>
        public static void MenuDemo(MySqlConnection connexion)
        {
            WriteLine("Bienvenue sur le menu Demo:");
            WriteLine("Choisissez une action: Affichage du nombre de clients: [C]" + "\n" + "Affichage du nombre de recettes: [N]" + "\n" + "Affichage des créateurs de recette: [R]" + "\n" + "Liste des produits en basse quantité: [P]" + "\n" + "Affichage des recettes contenant les produits en basse quantité: [B]");
            bool bonneentrée = false;

            while (bonneentrée == false)
            {
                switch (ReadKey(true).Key)
                {
                case ConsoleKey.C:
                    Clear();
                    bonneentrée = true;
                    WriteLine("Ma Petite Cuisine compte actuellement " + BaseDeDonnées.CompterTuplesTable(connexion, "cook.client;") + " clients");
                    ReadKey();
                    break;

                case ConsoleKey.N:
                    Clear();
                    bonneentrée = true;
                    WriteLine("Ma Petite Cuisine compte actuellement " + BaseDeDonnées.CompterTuplesTable(connexion, "cook.recette;") + " recettes");
                    ReadKey();
                    break;

                case ConsoleKey.R:
                    Clear();
                    bonneentrée = true;
                    BaseDeDonnées.AfficherCdrs(connexion);
                    ReadKey();
                    break;

                case ConsoleKey.P:
                    Clear();
                    bonneentrée = true;
                    BaseDeDonnées.BasseQuantite(connexion, "2*");
                    ReadKey();
                    break;

                case ConsoleKey.B:
                    Clear();
                    bonneentrée = true;
                    BaseDeDonnées.RecettesBasseQuantite(connexion);
                    ReadKey();
                    break;

                default:
                    break;
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// SupprimerCdr(MySqlConnection connexion) affiche tout d'abord la liste des cdr pour permettre à l'admin de choisir qui supprimer.
        /// S'il tape un code cdr qui n'existe pas, il doit en retaper un.
        /// Il a ensuite le choix de le laisser client ou non, avec un switch à deux cas.
        /// Dans le premier cas, on va supprimer le cdr de la table cook.cdr, ce qui va supprimer ses recettes.
        /// Dans le second cas, on supprime le client, donc le cdr est également supprimé.
        /// </summary>
        /// <param name="connexion">connexion permet d'accéder à la base par des requetes commandées depuis C#</param>
        public static void SupprimerCdr(MySqlConnection connexion)
        {
            BaseDeDonnées.AfficherCdrs(connexion);

            WriteLine("Tapez le code du cdr à supprimer");
            string cdr = ReadLine();

            while (BaseDeDonnées.VerifExistenceInstance(connexion, cdr, "codeCdr", "cdr") == false)
            {
                WriteLine("Veuillez entrer le code d'un créateur de recettes existant");
            }

            MySqlCommand suppressionCommand = connexion.CreateCommand();

            WriteLine("Souhaitez vous que cette personne reste cliente ? " + "\n" + "Oui   : [O]" + "\n" + "Non  : [N]");
            suppressionCommand.Parameters.Add(new MySqlParameter("@code", MySqlDbType.VarChar, value: cdr, size: 4, isNullable: false, direction: default, precision: default, scale: default, sourceColumn: default, sourceVersion: default));
コード例 #3
0
        /// <summary>
        /// CreationRecette(MySqlConnection connexion) demande au cdr de choisir la recette  qu'il veut créer, tout d'abord en terme de
        /// nom,type et descriptifs,prix de vente en vérifiant qu'elle n'existe pas déjà.
        /// La recette est insérée dans la table recette.
        /// Il doit ensuite saisir les produits un par un ainsi que les quantités requises et les stocks avant des les insérer dans la table
        /// (stocks si le produit n'est pas deja dans la table).
        /// On insère également les tuples correspondant dans cook.contenanceRecette et on actualise les stocks min et max par rapport
        /// à la création de notre recette.
        ///</summary>
        /// <param name="connexion">connexion permet d'accéder à la base par des requetes commandées depuis C#</param>
        public void CreationRecette(MySqlConnection connexion)
        {
            WriteLine("Bienvenue dans le gestionnaire de création de recettes !");
            WriteLine("Veuillez saisir le type de votre recette:");
            string typeRecette = ReadLine();

            WriteLine("Veuillez saisir le nom de votre recette:");
            string ideeRecette = ReadLine();
            bool   existence   = BaseDeDonnées.VerifExistenceInstance(connexion, ideeRecette, "nomRecette", "Recette");

            while (existence == true)
            {
                WriteLine("Cette recette est déjà répertoriée dans l'application. Veuillez entrer une autre recette.");
                ideeRecette = ReadLine();
                existence   = BaseDeDonnées.VerifExistenceInstance(connexion, ideeRecette, "nomRecette", "Recette");
            }


            WriteLine("Veuillez décrire votre recette:");
            string descriptif = ReadLine();

            while (descriptif.Length > 256)
            {
                WriteLine("Votre descriptif doit se limiter à 256 caractères. Vous en avez tapé " + descriptif.Length);
                descriptif = ReadLine();
            }
            WriteLine("Veuillez saisir un prix pour cette recette entre 10 et 40 cooks:");
            float prix        = 0;
            bool  mauvaisprix = true;

            while (mauvaisprix)
            {
                prix = Program.TryParseFloat();
                if (prix >= 10 && prix <= 40)
                {
                    mauvaisprix = false;
                }
            }

            MySqlCommand saisieRecette = connexion.CreateCommand();

            saisieRecette.Parameters.Add(new MySqlParameter("@recette", MySqlDbType.VarChar, value: ideeRecette, size: 20, isNullable: false, direction: default, precision: default, scale: default, sourceColumn: default, sourceVersion: default));
コード例 #4
0
ファイル: Program.cs プロジェクト: Pierrot795/Cookapp
        /// <summary>
        /// La méthode main permet à l'utilisateur selon qu'il soit client (client/cdr), professionnel, administrateur ou professeur (demo)
        /// d'avancer dans l'application jusqu'aux commandes de connection puis les fonctionnalités correspondant à leur statut.
        /// Les méthodes Menu ci-dessus sont appelées selon la lettre tapée par l'utilisateur.
        /// Une fois son action terminée, l'utilisateur peut continuer sur l'appli ou se déconnecter en tapant N.
        /// </summary>
        static void Main()
        {
            BaseDeDonnées   database  = new BaseDeDonnées();
            MySqlConnection connexion = database.connexion();

            WriteLine("Bienvenue sur Ma Petite Cuisine:" + "\n" + "Je suis client: [C]" + "\n" + "Je suis professionnel: [P]" + "\n" + "Je suis administrateur [A]" + "\n" + "Je souhaite accéder au mode démo: [D]");
            bool bonneentrée = false;
            bool end         = false;

            while (bonneentrée == false)
            {
                switch (ReadKey(true).Key)
                {
                case ConsoleKey.C:
                    Clear();
                    bonneentrée = true;
                    while (end == false)
                    {
                        MenuClient(connexion);
                        Clear();
                        WriteLine("Pour vous déconnecter tapez [N] sinon  pour continuer,appuyez sur n'importe quelle autre touche");
                        if (ReadKey(true).Key == ConsoleKey.N)
                        {
                            end = true;
                        }
                        Clear();
                    }
                    break;

                case ConsoleKey.P:
                    Clear();
                    bonneentrée = true;
                    while (end == false)
                    {
                        MenuPro(connexion);
                        Clear();
                        WriteLine("Pour vous déconnecter tapez [N] sinon  pour continuer,appuyez sur n'importe quelle autre touche");
                        if (ReadKey(true).Key == ConsoleKey.N)
                        {
                            end = true;
                        }
                        Clear();
                    }
                    break;

                case ConsoleKey.D:
                    Clear();
                    bonneentrée = true;
                    while (end == false)
                    {
                        MenuDemo(connexion);
                        Clear();
                        WriteLine("Pour vous déconnecter tapez [N] sinon  pour continuer,appuyez sur n'importe quelle autre touche");
                        if (ReadKey(true).Key == ConsoleKey.N)
                        {
                            end = true;
                        }
                        Clear();
                    }

                    break;

                case ConsoleKey.A:
                    Clear();
                    bonneentrée = true;
                    while (end == false)
                    {
                        ActionsAdmin(connexion);
                        Clear();
                        WriteLine("Pour vous déconnecter tapez [N] sinon  pour continuer,appuyez sur n'importe quelle autre touche");
                        if (ReadKey(true).Key == ConsoleKey.N)
                        {
                            end = true;
                        }
                        Clear();
                    }

                    break;

                default:
                    break;
                }
            }
            WriteLine("Merci d'avoir utilisé notre application ! A bientot !");
            database.Deconnexion(connexion);

            ReadKey();
        }