/// <summary> /// Menu de connexion du client --> Vérification de l'émail et du mot de passe. /// </summary> public static void ConnexionClient() { Console.Clear(); string Mail = ""; string MotDePasse = ""; Console.WriteLine("[CONNEXION CLIENT] Renseigner les champs suivants :"); Console.Write("Email: "); Mail = Console.ReadLine(); Console.Write("Mot de passe:"); MotDePasse = FonctionsConsole.MaskPassword(); Console.WriteLine(); if (DataAccess.VerifieMailMdpClient(Mail, MotDePasse)) { Console.Clear(); Client client = new Client(); client = DataAccess.AfficheIDEmailClient(Mail); UtilisateurActuelEmail = Mail; UtilisateurActuelID = client.Id_client; InterfaceClient(); } else { Console.Clear(); Console.WriteLine("Email ou mot de passe incorrect !\n"); return; } }
/// <summary> /// Modifie un client -> Vérifie l'émail du client /// S'il est valide continu et sinon renvoie un message d'erreur. /// </summary> public static void ModifierUnClient() { string email = ""; string x = ""; Client p = new Client(); CpVille v = new CpVille(); Console.Write("Email du client à modifier: "); email = Console.ReadLine(); Console.WriteLine(); Client client = DataAccess.verifieSiClientExiste(email); if (client.Mail_client != "Rien") { Console.WriteLine(); FonctionsConsole.PaternClient(x, p, v); DataAccess.modifieUnClientenBDD(client.Mail_client, p); Console.WriteLine("\nLe profil client vient d'être mis à jour."); Console.ReadKey(); } else { Console.WriteLine("ERREUR: Ce client n'existe pas dans la base de données.\n"); } }
/// <summary> /// Menu de connexion de l'admin --> Vérification de l'émail et du mot de passe. /// </summary> public static void ConnexionAdministrateur() { Console.Clear(); string Mail = ""; string MotDePasse = ""; Console.WriteLine("[CONNEXION ADMINISTRATEUR] Renseigner les champs suivants :"); Console.Write("Email: "); Mail = Console.ReadLine(); Console.Write("Mot de passe:"); MotDePasse = FonctionsConsole.MaskPassword(); Console.WriteLine(); if (DataAccess.VerifieMailMdpAdministrateur(Mail, MotDePasse)) { Console.Clear(); InterfaceAdmin(); } else { Console.Clear(); Console.WriteLine("Email ou mot de passe incorrect !\n"); return; } }
//Client #region Valide le mail lors de la modification d'un client /// <summary> /// Vérifie que le nouvel Email n'existe pas dans la base de données. /// Si non présent dans la BDD ou autre renvoie une exception. /// </summary> /// <param name="value"></param> public static void ValiderNouvelEmail(string value) { if (value.Length < 1 || value.Length > 80 || !FonctionsConsole.VerifEmail(value) || DataAccess.VerifierExistanceMailClient(value)) { throw new FonctionsConsole.MonMessageErreur("ERREUR: L'email existe déjà | L'email est trop long | Le format n'est pas bon."); } }
//Actions du menu client #region [Interface] Modifier son profil personnel /// <summary> /// Modifie son profil personnel /// </summary> public static void ModifierSonProfil() { string x = ""; Client p = new Client(); CpVille v = new CpVille(); FonctionsConsole.PaternClient(x, p, v); DataAccess.modifieUnClientenBDD(UtilisateurActuelEmail, p); Console.Write("\nVotre profil a été mis à jours."); Console.ReadKey(); }
/// <summary> /// Menu inscription de l'administrateur /// </summary> public static void InscriptionAdministrateur() { Console.WriteLine("[INSCRIPTION ADMIN] Renseigner les champs suivants:"); bool veriftest = false; Admin x = new Admin(); //Gère le chant Email #region Chant Email while (veriftest == false) { try { Console.Write("Email: "); x.Mail_Admin = Console.ReadLine(); veriftest = true; } catch (FonctionsConsole.MonMessageErreur error) { Console.WriteLine(error.errorMessage); } } veriftest = false; #endregion //Gère le mot de passe #region Chant Mot De Passe while (veriftest == false) { try { Console.Write("Mot de passe:"); x.Mot_De_Passe = FonctionsConsole.MaskPassword(); Console.WriteLine(); veriftest = true; } catch (FonctionsConsole.MonMessageErreur error) { Console.WriteLine(error.errorMessage); } } veriftest = false; #endregion DataAccess.InsererAdministrateurEnBDD(x); }
/// <summary> /// Menu de modification d'un produit. /// </summary> public static void ModifierProduit() { string Nom = ""; Produit p = new Produit(); Console.WriteLine("MODE ADMIN"); Console.WriteLine("MODIFIER UN PRODUIT DANS LA BASE DE DONNEES"); Console.Write("Nom du produit à modifier : "); Nom = Console.ReadLine(); Produit produit = DataAccess.GetOneProduct(Nom); if (produit.Nom_Produit != "Rien") { Console.WriteLine(); FonctionsConsole.PaternProduit(p); DataAccess.ModifyOneProduct(Nom, p); Console.WriteLine("Votre produit a été modifié avec succès."); } else { Console.WriteLine("Votre produit n'existe pas dans la base de données."); } }
/// <summary> /// Affiche le menu Client -> Acheter un produit | Afficher les produits| Modifier les infos de son compte | Déconnexion /// </summary> public static void InterfaceClient() { Console.Clear(); Console.Write("Vous êtes connecté avec l'email " + UtilisateurActuelEmail + "\n\n"); Console.Write("[MODE CLIENT] Menu principal: \n" + "\n\t - [1] ACHETER UN PRODUIT" + "\n\t - [2] AFFICHER LES PRODUITS" + "\n\t - [3] MODIFIER INFOS PERSONNELLES" + "\n\t - [4] SUPPRIMER SON COMPTE" + "\n\t - [x] DECONNEXION\n"); switch (Console.ReadKey(true).Key) { case ConsoleKey.NumPad1: Console.Clear(); FonctionsConsole.AcheterProduit(); break; case ConsoleKey.NumPad2: Console.Clear(); FonctionsConsole.AfficherLesProduits(); Console.WriteLine("APPUYER SUR UNE TOUCHE POUR RETOURNER AU MENU CLIENT"); Console.ReadKey(); Console.Clear(); InterfaceClient(); break; case ConsoleKey.NumPad3: Console.Clear(); ModifierSonProfil(); Console.Clear(); InterfaceClient(); break; case ConsoleKey.NumPad4: Console.Clear(); FonctionsConsole.SupprimeClient(UtilisateurActuelEmail); Console.WriteLine("Etes-vous sur de vouloir supprimer votre compte client ? (O/N)\n"); switch (Console.ReadKey(true).Key) { case ConsoleKey.N: Console.Clear(); InterfaceClient(); break; case ConsoleKey.O: Console.Clear(); Console.Write("Votre compte a été supprimé avec succès."); Console.ReadKey(); MenuPrincipal(); break; } 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: Console.Clear(); InterfaceClient(); break; case ConsoleKey.O: Console.Clear(); return; } return; } }
//Inscriptions #region [Interface] Menu Inscription Clients /// <summary> /// Menu inscription du client /// </summary> public static void Inscription() { bool veriftest = false; Client x = new Client(); CpVille y = new CpVille(); Console.WriteLine("[INSCRIPTION CLIENT] Renseigner les champs suivants:"); #region Chant Nom while (veriftest == false) { try { Console.Write("Nom: "); x.Nom_Client = Console.ReadLine(); veriftest = true; } catch (FonctionsConsole.MonMessageErreur error) { Console.WriteLine(error.errorMessage); } } veriftest = false; #endregion #region Chant Prénom while (veriftest == false) { try { Console.Write("Prénom: "); x.Prenom_client = Console.ReadLine(); x.Prenom_client = FonctionsConsole.premiereLettreMajuscule(x.Prenom_client); veriftest = true; } catch (FonctionsConsole.MonMessageErreur error) { Console.WriteLine(error.errorMessage); } } veriftest = false; #endregion #region Chant Adresse while (veriftest == false) { try { Console.Write("N° + Rue: "); x.Adresse_client = Console.ReadLine(); veriftest = true; } catch (FonctionsConsole.MonMessageErreur error) { Console.WriteLine(error.errorMessage); } } veriftest = false; #endregion #region Code Postal while (veriftest == false) { try { Console.Write("Code postal: "); y.Code_postal_ville = Console.ReadLine(); veriftest = true; } catch (FonctionsConsole.MonMessageErreur error) { Console.WriteLine(error.errorMessage); } } veriftest = false; #endregion #region Chant Nom Ville while (veriftest == false) { try { Console.Write("Ville: "); y.Nom_ville = Console.ReadLine(); FonctionsConsole.IdTrouve test = DataAccess.VerificationVille(y.Nom_ville); if (!test.Trouve) { DataAccess.InsererVilleEnBDD(y.Code_postal_ville, y.Nom_ville); x.Id_CpVille = DataAccess.VerificationVille(y.Nom_ville).Id; } else { x.Id_CpVille = test.Id; } veriftest = true; } catch (FonctionsConsole.MonMessageErreur error) { Console.WriteLine(error.errorMessage); } } veriftest = false; #endregion #region Chant Email while (veriftest == false) { try { Console.Write("Email: "); string value = Console.ReadLine(); FonctionsConsole.ValiderNouvelEmail(value); x.Mail_client = value; veriftest = true; } catch (FonctionsConsole.MonMessageErreur error) { Console.WriteLine(error.errorMessage); } } veriftest = false; #endregion #region Chant Téléphone while (veriftest == false) { try { Console.Write("Téléphone: "); x.Numtel_Client = Console.ReadLine(); veriftest = true; } catch (FonctionsConsole.MonMessageErreur error) { Console.WriteLine(error.errorMessage); } } veriftest = false; #endregion #region Chant date de naissance while (veriftest == false) { try { Console.Write("Date de naissance: "); x.Date_naissance_client = Convert.ToDateTime(Console.ReadLine()); veriftest = true; } catch (FormatException e) { Console.WriteLine(e.Message); } } veriftest = false; #endregion #region Chant Mot De Passe while (veriftest == false) { try { Console.Write("Mot de passe:"); x.Mdp_client = FonctionsConsole.MaskPassword(); Console.WriteLine(); veriftest = true; } catch (FonctionsConsole.MonMessageErreur error) { Console.WriteLine(error.errorMessage); } } veriftest = false; #endregion DataAccess.InsererClientEnBDD(x); }
/// <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; } }
/// <summary> /// Modèle utilisé pour modifier un client /// </summary> /// <param name="x"></param> /// <param name="p"></param> /// <param name="v"></param> public static void PaternClient(string x, Client p, CpVille v) { #region Code Postal Client Console.Write("Code Postal: "); while (true) { try { v.Code_postal_ville = Console.ReadLine(); break; } catch (FonctionsConsole.MonMessageErreur e) { Console.WriteLine(e.Message); } } #endregion #region Nom Ville Client while (true) { try { Console.Write("Ville: "); v.Nom_ville = Console.ReadLine(); FonctionsConsole.IdTrouve test = DataAccess.VerificationVille(v.Nom_ville); if (!test.Trouve) { DataAccess.InsererVilleEnBDD(v.Code_postal_ville, v.Nom_ville); p.Id_CpVille = DataAccess.VerificationVille(v.Nom_ville).Id; } else { p.Id_CpVille = test.Id; } break; } catch (FonctionsConsole.MonMessageErreur error) { Console.WriteLine(error.errorMessage); } } #endregion #region Nom Client while (true) { try { Console.Write("Nom: "); p.Nom_Client = Console.ReadLine(); break; } catch (FonctionsConsole.MonMessageErreur error) { Console.WriteLine(error.errorMessage); } } #endregion #region Prénom Client while (true) { try { Console.Write("Prénom: "); p.Prenom_client = Console.ReadLine(); p.Prenom_client = FonctionsConsole.premiereLettreMajuscule(p.Prenom_client); break; } catch (FonctionsConsole.MonMessageErreur error) { Console.WriteLine(error.errorMessage); } } #endregion #region Adresse Client while (true) { try { Console.Write("Numéro de nom de rue du client: "); p.Adresse_client = Console.ReadLine(); break; } catch (FonctionsConsole.MonMessageErreur error) { Console.WriteLine(error.errorMessage); } } #endregion #region Chant Téléphone while (true) { try { Console.Write("Téléphone: "); bool telephoneEstValide = false; p.Numtel_Client = Console.ReadLine(); telephoneEstValide = Int32.TryParse(p.Numtel_Client, out int _); int telephonelongeur = p.Numtel_Client.Length; break; } catch (FonctionsConsole.MonMessageErreur error) { Console.WriteLine(error.errorMessage); } } #endregion #region Chant date de naissance while (true) { try { Console.Write("Date de naissance: "); p.Date_naissance_client = Convert.ToDateTime(Console.ReadLine()); break; } catch (FormatException e) { Console.WriteLine(e.Message); } } #endregion #region Chant Mot De Passe while (true) { try { Console.WriteLine("Mot de passe:"); p.Mdp_client = FonctionsConsole.MaskPassword(); break; } catch (FonctionsConsole.MonMessageErreur error) { Console.WriteLine(error.errorMessage); } } #endregion }