示例#1
0
        // Tester si une exception est levée lorsqu'une tache annexe est créée avec un code déjà existant
        public void TestAjouterTacheAnnexe()
        {
            Projet p = new Projet();

            p.AjouterTache(new TacheAnnexe(10, "coucou10"));
            // Ajout d'une tache annexe avec un code déjà existant
            p.AjouterTache(new TacheAnnexe(10, "coucou20"));
        }
示例#2
0
        /// <summary>
        /// Charge les données du fichier passé en paramètre et renvoi le projet instancié
        /// </summary>
        /// <param name="path"></param>
        /// <returns></returns>
        private static Projet ChargerDonnées(string path)
        {
            Projet projet = new Projet();

            string[] data = File.ReadAllLines(path);
            string[] ligne; // Tableau dont chaque élément contiendra toutes les informations pour instancier une tache de production
            for (int i = 1; i < data.Length; i++)
            {
                ligne = data[i].Split('\t');
                projet.AjouterTache(new TacheProd(int.Parse(ligne[0]),
                                                  ligne[1], DicoEmployés[ligne[2]], DicoActivitésProd[ligne[3]],
                                                  ligne[4], DateTime.Parse(ligne[5]), int.Parse(ligne[6]), int.Parse(ligne[7]), int.Parse(ligne[8])));
            }

            return(projet);
        }
示例#3
0
        public static void SaisirDonnéesTacheAnnexe(Projet p)
        {
            // Récupère et teste quand nécessaire les informations nécessaires à la création d'une tache annexe
            Console.WriteLine("Saisir les informations suivantes :\n\t- un numéro CodeTache (doit être unique)");
            int codeTache;

            while (!int.TryParse(Console.ReadLine(), out codeTache))
            {
                Console.WriteLine("Mauvaise saisie.");
            }

            Console.WriteLine("\t- Libellé :");
            string libellé = Console.ReadLine();

            Console.WriteLine("\t- Activité (\"INDEFINI\", \"APPUI\", \"REUNION\", \"DDP\", \"EVENT\") :");
            string activité = Console.ReadLine();

            Console.WriteLine("\t- Code personne (peut être spécifié plus tard) :");
            string codePers = Console.ReadLine();

            Console.WriteLine("\t- Date de début au format DD/MM/YYYY ou \"Aucune\" (si aucune : aujourd'hui) :");
            DateTime dateDéb;
            string   rep = Console.ReadLine();
            bool     boolDateDéb;

            while (!(boolDateDéb = DateTime.TryParse(rep, out dateDéb)) && rep != "Aucune")
            {
                Console.WriteLine("Saisie invalide");
                rep = Console.ReadLine();
            }

            bool     boolDateFin = false;
            DateTime dateFin     = DateTime.MaxValue;

            if (boolDateDéb)
            {
                Console.WriteLine("\t- Date de fin au format DD/MM/YYYY ou \"Aucune\" (si aucune, la tache n'a pas de date de fin) :");

                rep = Console.ReadLine();
                while (!(boolDateFin = DateTime.TryParse(rep, out dateFin)) && rep != "Aucune")
                {
                    Console.WriteLine("Saisie invalide");
                    rep = Console.ReadLine();
                }
            }
            // TODO (optionnel) : Program::SaisirDonnéesTacheAnnexe(...) gérer si DateFin < DateDébut

            try   // Tente d'instancier une tache annexe avec les informations fournies par l'utilisateur
            {
                TacheAnnexe tacheA = new TacheAnnexe(codeTache, libellé, codePers, activité);
                if (boolDateDéb)
                {
                    if (boolDateFin)
                    {
                        tacheA = new TacheAnnexe(codeTache, libellé, dateDéb, dateFin, codePers, activité);
                    }
                    else
                    {
                        tacheA = new TacheAnnexe(codeTache, libellé, dateDéb, codePers, activité);
                    }
                }
                p.AjouterTache(tacheA);
            }
            catch (ArgumentException e) // Informe l'utilisateur qu'une erreur a eu lieu et que la tache n'a pas été ajouté
            {
                Console.WriteLine(e.Message);
                Console.WriteLine("La tache n'a pas pu être ajoutée.");
            }
        }