// ***** Méthodes ***** public void CUsage() // Fonction pour créer un usagé dans la BD. // A2 C { string nom = Input.InputStringNonVide("Entrez le nom : "); string prenom = Input.InputStringNonVide("Entrez le prénom : "); string motDePasseString = Input.InputStringNonVide("Entrez le mot de passe : "); string[] motDePasseTable = Password.SimpleHash.ComputeHash(motDePasseString, "SHA512", null); string questionConfirmation = ("Voulez-vous créer " + nom + " " + prenom + " " + motDePasseString + " :"); if (Input.InputConfirmation(questionConfirmation)) { { Usager usage = new Usager(); usage.Nom = nom; usage.Prenom = prenom; usage.MotDePasse = motDePasseTable[1]; usage.Salt = motDePasseTable[2]; this.context.Usagers.Add(usage); this.context.SaveChanges(); } Console.WriteLine("L'usagé a été créé."); } else { Console.WriteLine("L'usagé n'a pas été créé."); } }
private void SupprimerUsage(Usager usageAEffacer) // Fonction pour supprimer un usagé { var impressions = usageAEffacer.Impressions; foreach (Impression impression in impressions) // Pour chaque impression de l'usage { var essaies = impression.Essaies.ToList(); foreach (Essaie essaie in essaies) // Supprime chaque essaie { var essaieFilaments = essaie.EssaieFilaments.ToList(); foreach (EssaieFilament essaieFilament in essaieFilaments) // Supprime chaque essaieFilament de l'essaie { this.context.EssaieFilaments.Remove(essaieFilament); } this.context.Essaies.Remove(essaie); } } var filaments = usageAEffacer.Filaments.ToList(); foreach (Filament filament in filaments) // Supprime chaque filament dont l'usage est le propriétaire { this.context.Filaments.Remove(filament); } this.context.Usagers.Remove(usageAEffacer); // Supprime l'usage }
private void AfficherUnUsage(Usager usage) // Fonction pour afficher un usagé { Console.WriteLine("#{0} {1} {2}", usage.ID, usage.Nom.Trim(), usage.Prenom.Trim()); }
private void AfficherElementsUsageASupprimer(Usager usageAEffacer) // Fonction pour afficher les éléments supprimés en même temps qu'un usagé { AfficherImpressionASupprimer(usageAEffacer); AfficherFilamentASupprimer(usageAEffacer); Console.WriteLine("---------------------------------------"); AfficherUnUsage(usageAEffacer); }
private void AfficherFilamentASupprimer(Usager usageAEffacer) // Fonction pour afficher les filaments à supprimer en même temps qu'un usagé { var filaments = usageAEffacer.Filaments; foreach (Filament filament in filaments) { Console.WriteLine("Essaie Filament #" + filament.ID + " " + filament.TypeFilament.Materiel.Trim() + " " + filament.TypeFilament.Diametre); } }
public void UUsage() // Fonction pour mettre à jour un usagé // A2 U { Console.Clear(); AfficherLesUsages(); int usageId = RUsage(); // Recherche de l'usagé à mettre à jour. Retourne 0 si l'usagé n'existe pas int choixMenu; string modification; if (usageId != 0) { AfficherMenuUpdateUsage(); choixMenu = Input.InputIntInList("Que voulez vous faire : ", new List <int> { 0, 1, 2, 3 }); Usager usage = this.context.Usagers.Where(c => c.ID == usageId).First(); // L'usagé que l'on veut modifier switch (choixMenu) { case 1: modification = Input.InputStringNonVide("Entrez le nouveau nom :"); usage.Nom = modification; Console.WriteLine("Le nom a été modifié."); break; case 2: modification = Input.InputStringNonVide("Entrez le nouveau prénom :"); usage.Prenom = modification; Console.WriteLine("Le prénom a été modifié."); break; case 3: modification = Input.InputStringNonVide("Entrez le nouveau mot de passe :"); string[] motDePasse = new string[3]; motDePasse = Password.SimpleHash.ComputeHash(modification, "SHA512", null); usage.MotDePasse = motDePasse[1]; usage.Salt = motDePasse[2]; Console.WriteLine("Le mot de passe a été modifié."); break; case 0: break; } this.context.SaveChanges(); } }
private void AfficherImpressionASupprimer(Usager usageAEffacer) // Fonction pour afficher les impression à supprimer en même temps qu'un usagé { var impressions = usageAEffacer.Impressions; foreach (Impression impression in impressions) // Affiche chaque impression de l'usage { Console.WriteLine("Impression #" + impression.ID + " " + impression.Nom.Trim()); foreach (Essaie essaie in impression.Essaies) // Affiche chaque essaie de l'impression { Console.WriteLine("Essaie #" + essaie.ID + " " + essaie.Commentaire.Trim()); foreach (EssaieFilament essaieFilament in essaie.EssaieFilaments) // Affiche chaque essaieFilament de l'essaie { Console.WriteLine("Essaie Filament #" + essaieFilament.EssaieId); } } } }
public int RUsage() // Fonction pour rechercher un usagé dans la BD à l'aide de son ID. // Retourne le id de l'usagé si il existe. // Retourne zéro si l'usagé n'existe pas. // Retourne zéro si l'utilisateur annule. // A2 R { int usageID = Input.InputInt("Entrez le id de l'usagé (0 pour annuler) : "); if (usageID != 0) { Usager usage = this.context.Usagers.Find(usageID); if (usage == null) { Console.WriteLine("Il n'y a aucun usagé avec ce id."); usageID = 0; } else { AfficherUnUsage(usage); } } return(usageID); }
public void DUsage() // Fonction pour supprimer un usagé // A2 D { bool veutSupprimer; Console.Clear(); AfficherLesUsages(); int usageId = RUsage(); // Recherche le id de l'usagé à supprimer. Retourne 0 si l'usagé n'existe pas if (usageId != 0) // Si il n'y a pas d'annulation { Usager usageAEffacer = this.context.Usagers.Find(usageId); Console.Clear(); AfficherElementsUsageASupprimer(usageAEffacer); veutSupprimer = Input.InputConfirmation("Êtes-vous certain de vouloir supprimer cet usagé et tout ce qui en découle: "); if (veutSupprimer) // Si on veut bel et bien supprimer cet usagé { SupprimerUsage(usageAEffacer); this.context.SaveChanges(); Console.WriteLine("L'usagé a été supprimer."); } } }