コード例 #1
0
        /*
         * /// <summary>
         * /// Permet de modifier un des attributs en particulier, sans toucher aux autres
         * /// </summary>
         * /// <returns>1 si un attribut a été modifié, 0 si non</returns>
         * public virtual int SaisiePartielle()
         * {
         *  string choix;
         *  int sortie = 0;
         *  int borneSub = 49;
         *
         *  if (this.Description.Length <= 49) borneSub = this.Description.Length;
         *
         *  //Chaque attribut est associé à un code pour pouvoir le choisir
         *  Console.WriteLine(Affichage.Titre1("Modifier un champ"));
         *  Console.WriteLine("Quel champ voulez-vous modifier ?\n" +
         *      "   1. Reference (" + this.Reference + ") \n" +
         *      "   2. Titre (" + this.Titre + ") \n" +
         *      "   3. Description (" + this.Description.Substring(0,borneSub) + "..." + ") \n" +
         *      "   4. Genre (" + this.GenreS + ") \n" +
         *      "   5. Année de parution (" + this.AnneeParution + ") \n" +
         *      "   6. ...\n");
         *
         *  //L'utilisateur fait son choix
         *  choix = Console.ReadLine();
         *
         *  //En fonction de ce choix ...
         *  //Pour chaque possibilité, on regarde si le choix de l'utilisateur correspond à un code
         *  //Ou s'il a entré le nom du choix (le ToLower permet de ne pas se soucier de la casse)
         *  if(choix.ToLower().Contains("reference") || choix.ToLower().Contains("1"))
         *  {
         *      this.SaisieRef();
         *      sortie = 1;
         *  }
         *  if (choix.ToLower().Contains("titre") || choix.ToLower().Contains("2"))
         *  {
         *      this.SaisieTitre();
         *      sortie = 1;
         *  }
         *  if (choix.ToLower().Contains("description") || choix.ToLower().Contains("3"))
         *  {
         *      this.SaisieDescription();
         *      sortie = 1;
         *  }
         *  if (choix.ToLower().Contains("genre") || choix.ToLower().Contains("4"))
         *  {
         *      this.SaisieGenre();
         *      sortie = 1;
         *  }
         *  if (choix.ToLower().Contains("parution") || choix.ToLower().Contains("5"))
         *  {
         *      this.SaisieAnnee();
         *      sortie = 1;
         *  }
         *
         *  return sortie;
         * }*/
        #endregion

        /// <summary>
        /// Permet de modifier un des attributs en particulier, sans toucher aux autres
        /// </summary>
        /// <returns>1 si un attribut a été modifié, 0 si non</returns>
        public virtual void SaisiePartielle()
        {
            string choix;
            int    borneSub = 49;

            //Réduit l'affichage de la description si celle-ci fait plus de 49 caractères
            if (this.Description.Length <= 49)
            {
                borneSub = this.Description.Length;
            }
            string desc;

            if (borneSub == 49)
            {
                desc = this.Description.Substring(0, borneSub) + "...";
            }
            else
            {
                desc = this.Description;
            }

            //Chaque attribut est associé à un code pour pouvoir le choisir
            Console.WriteLine(Affichage.Titre1("Modifier un champ"));
            Console.WriteLine("Quel champ voulez-vous modifier ?\n" +
                              "   1. Reference (" + this.Reference + ") \n" +
                              "   2. Titre (" + this.Titre + ") \n" +
                              "   3. Description (" + desc + ") \n" +
                              "   4. Genre (" + this.GenreS + ") \n" +
                              "   5. Année de parution (" + this.AnneeParution + ") \n" +
                              this.ChoixEnfant());

            //L'utilisateur fait son choix
            choix = Console.ReadLine();

            //En fonction de ce choix ...
            //Pour chaque possibilité, on regarde si le choix de l'utilisateur correspond à un code
            //Ou s'il a entré le nom du choix (le ToLower permet de ne pas se soucier de la casse)
            if (choix.ToLower().Contains("reference") || choix == "1")
            {
                this.SaisieRef();
            }
            if (choix.ToLower().Contains("titre") || choix == "2")
            {
                this.SaisieTitre();
            }
            if (choix.ToLower().Contains("description") || choix == "3")
            {
                this.SaisieDescription();
            }
            if (choix.ToLower().Contains("genre") || choix == "4")
            {
                this.SaisieGenre();
            }
            if (choix.ToLower().Contains("parution") || choix == "5")
            {
                this.SaisieAnnee();
            }

            this.SaisiePartielleEnfant(choix);
        }
コード例 #2
0
        /// <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")); }
        }
コード例 #3
0
        /// <summary>
        /// Permet de modifier un des attributs en particulier, sans toucher aux autres
        /// </summary>
        /// <returns>1 si un attribut a été modifié, 0 si non</returns>
        public virtual void SaisiePartielle()
        {
            string choix;

            //Chaque attribut est associé à un code pour pouvoir le choisir
            Console.WriteLine(Affichage.Titre1("Modifier un champ"));
            Console.WriteLine("Quel champ voulez-vous modifier ?\n" +
                              "   1. Nom (" + this.Nom + ") \n" +
                              "   2. Adresse (" + this.Adresse + ") \n" +
                              "   3. Code Postal (" + this.CodePostal + ") \n" +
                              "   4. Ville (" + this.Ville + ") \n");

            //L'utilisateur fait son choix
            choix = Console.ReadLine();

            //En fonction de ce choix ...
            //Pour chaque possibilité, on regarde si le choix de l'utilisateur correspond à un code
            //Ou s'il a entré le nom du choix (le ToLower permet de ne pas se soucier de la casse)
            if (choix.ToLower().Contains("nom") || choix == "1")
            {
                this.SaisieNom();
            }
            if (choix.ToLower().Contains("adresse") || choix == "2")
            {
                this.SaisieAdresse();
            }
            if (choix.ToLower().Contains("code") || choix == "3")
            {
                this.SaisieCodePostal();
            }
            if (choix.ToLower().Contains("ville") || choix == "4")
            {
                this.SaisieVille();
            }
        }
コード例 #4
0
 /// <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."));
     }
 }
コード例 #5
0
 /// <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."));
     }
 }
コード例 #6
0
 /// <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")); }
 }
コード例 #7
0
 /// <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")); }
 }
コード例 #8
0
 /// <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")); }
 }
コード例 #9
0
 /// <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")); }
 }
コード例 #10
0
 /// <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")); }
 }
コード例 #11
0
 /// <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")); }
 }
コード例 #12
0
 /// <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")); }
 }
コード例 #13
0
 /// <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")); }
 }
コード例 #14
0
        /// <summary>
        /// Permet de modifier complètement la valeur de tous les attributs depuis la console
        /// </summary>
        public virtual void Saisie()
        {
            //Mise en évidence dans la console du but de la fonction
            Console.WriteLine(Affichage.Titre1("Saisie d'un nouveau media"));

            //Mise à jour des différents attributs
            this.SaisieRef();
            this.SaisieTitre();
            this.SaisieDescription();
            this.SaisieGenre();
            this.SaisieAnnee();

            //La date d'entrée du média devient la date de dernière modification
            this.DateEntree = DateTime.Now;
        }
コード例 #15
0
 /// <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.")); }
 }
コード例 #16
0
        /// <summary>
        /// Retourne une chaîne de caractères contenant la valeur des attributs de la classe
        /// </summary>
        /// <returns></returns>
        public override string ToString()
        {
            string s = "\n";

            //Ajoute un petit effet pour mettre en avant le titre lors de l'affichage
            s += Affichage.Titre1(this.Titre);

            s += "Description : " + this.Description + "\n";

            s += "\nReference : " + this.Reference + "\n";
            s += "Genre : " + this.GenreS + "\n";
            s += "Année de Parution : " + this.AnneeParution + "\n";

            s += "\nDate de saisie dans l'application : " + this.DateEntree + "\n";

            return(s);
        }
コード例 #17
0
        /// <summary>
        /// Décrit tous les médias enregistrés dans la liste
        /// </summary>
        /// <returns>La description</returns>
        public override string ToString()
        {
            string s = "";

            if (this.Medias.Count != 0)
            {
                s += Affichage.Titre1("Liste des médias enregistrés");
            }
            //Cas où la liste est vide
            else
            {
                s += Affichage.Titre1("Aucun résultat trouvé");
            }

            foreach (Media m in this.Medias)
            {
                s += m.ToStringMin();
            }

            return(s);
        }
コード例 #18
0
        /*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")); }
            }
        }