/// <summary> /// Saisie dans la console des acteurs principaux /// </summary> private void SaisieActeurs() { try { Console.Write("-- Acteurs Principaux ? "); //Pour ajouter un acteur à la liste, l'utilisateur entre son nom et appuie sur Entrée Console.Write("\n----- Tapez le nom de l'acteur puis appuyez sur 'Entrée' pour l'ajouter à la liste."); //Il pourra faire cette manipulation jusqu'à ce qu'il entre "stop" Console.Write("\n----- Tapez \"stop\" quand la liste est complète.\n"); string s; List <string> act = new List <string>(); //L'utilisateur saisira toujours au moins un mot, on peut utiliser une boucle do-while do { //La fonction Trim permet d'enlever les espaces inutiles au début et à la fin de l'entrée de l'utilisateur //Permet d'éviter un certain nombre d'erreurs d'inattention lors de la saisie s = Console.ReadLine().Trim(); if (s != "stop") { act.Add(s); } } while (s != "stop"); this.Acteurs = act; } catch (Exception) { Console.WriteLine(Affichage.Erreur("Saisie non conforme")); } }
/// <summary> /// Saisit la ville de la médiathèque via la console /// </summary> private void SaisieVille() { Console.Write("-- Ville ? "); this.Ville = Console.ReadLine(); if (this.Ville == "") { Console.WriteLine(Affichage.Erreur("Champ vide. Vous pourrez modifier cette information ultérieurement.")); } }
/// <summary> /// Saisit le nom de la médiathèque via la console /// </summary> private void SaisieNom() { Console.Write("-- Nom de la médiatèque ? "); this.Nom = Console.ReadLine(); if (this.Nom == "") { Console.WriteLine(Affichage.Erreur("Champ vide. Vous pourrez modifier cette information ultérieurement.")); } }
/// <summary> /// Saisie dans la console de l'éditeur /// </summary> private void SaisieEditeur() { try { Console.Write("-- Editeur ? "); this.Editeur = Console.ReadLine(); } catch (Exception) { Console.WriteLine(Affichage.Erreur("Saisie non conforme")); } }
/// <summary> /// Saisie dans la console du nombre de pages /// </summary> private void SaisieNbPages() { try { Console.Write("-- Nombre de Pages ? "); this.NbPages = Int32.Parse(Console.ReadLine()); } catch (Exception) { Console.WriteLine(Affichage.Erreur("Saisie non conforme")); } }
/// <summary> /// Saisie dans la console de la durée /// </summary> private void SaisieDurée() { try { Console.Write("-- Durée (en minutes) ? "); this.Durée = Int32.Parse(Console.ReadLine()); } catch (Exception) { Console.WriteLine(Affichage.Erreur("Saisie non conforme")); } }
/// <summary> /// Saisie dans la console du studio /// </summary> private void SaisieStudio() { try { Console.Write("-- Studio ? "); this.Studio = Console.ReadLine(); } catch (Exception) { Console.WriteLine(Affichage.Erreur("Saisie non conforme")); } }
/// <summary> /// Saisie dans la console du scénariste /// </summary> private void SaisieScenariste() { try { Console.Write("-- Scénariste ? "); this.Scenariste = Console.ReadLine(); } catch (Exception) { Console.WriteLine(Affichage.Erreur("Saisie non conforme")); } }
/// <summary> /// Saisie dans la console du genre /// </summary> private void SaisieGenre() { try { Console.Write("-- Genre ? "); this.GenreS = Console.ReadLine(); } catch (Exception) { Console.WriteLine(Affichage.Erreur("Saisie non conforme")); } }
/// <summary> /// Saisie dans la console de la description/du résumé /// </summary> private void SaisieDescription() { try { Console.Write("-- Description ? "); this.Description = Console.ReadLine(); } catch (Exception) { Console.WriteLine(Affichage.Erreur("Saisie non conforme")); } }
/// <summary> /// Saisie dans la console de l'année de parution /// </summary> private void SaisieAnnee() { try { Console.Write("-- Année de parution (Format : JJ/MM/YYYY ou JJ/MM/YYYY HH:mm:s) ? "); this.AnneeParution = DateTime.Parse(Console.ReadLine()); } //Le premier catch va intercepter les exceptions levées lorsque l'utilisateur entre une date qui ne respecte pas les formats imposés catch (FormatException) { Console.WriteLine(Affichage.Erreur("La date ne respecte pas les formats ci-dessus.")); } catch (Exception) { Console.WriteLine(Affichage.Erreur("Saisie non conforme")); } }
/// <summary> /// Saisit le code postal de la médiathèque via la console /// </summary> private void SaisieCodePostal() { Console.Write("-- Code Postal ? "); try { int cp = Int32.Parse(Console.ReadLine()); //On vérifie que le code postal vérifie le format des cp français if (cp.ToString().Length == 5) { this.CodePostal = cp; } //Sinon le format est incorrect else { throw new Exception(); } } catch (Exception) { Console.WriteLine(Affichage.Erreur("Format incorrect. Vous pourrez modifier cette information ultérieurement.")); } }
/*Plutôt que de répéter le code de saisie d'un attribut dans Saisie et SaisiePartielle, * on le place dans une fonction privée qu'on appelle plusieurs fois*/ /// <summary> /// Saisie dans la console de la référence /// </summary> private void SaisieRef() { bool ok = false; while (!ok) { try { Console.Write("-- Reference ? "); this.Reference = Console.ReadLine(); if (this.Reference == "") { throw new Exception(); } else { ok = true; } } catch (Exception) { Console.WriteLine(Affichage.Erreur("Saisie non conforme")); } } }