예제 #1
0
        public static string DuréeTravail(Personnes personne, string version, DAL dal)
        {
            //Retourne la durée réalisée sur la version par la personne
            var d = dal.ListeDonnées.Where(a => a.Value.Personne.Code == personne.Code)
                    .Where(b => b.Value.Version.Numéro == version).Sum(c => c.Value.Tache.DuréeRéalisée);
            //Retourne la durée restante sur la version pour la personne
            var d2 = dal.ListeDonnées.Where(a => a.Value.Personne.Code == personne.Code)
                     .Where(b => b.Value.Version.Numéro == version).Sum(c => c.Value.Tache.DuréeRestante);

            //Retourne un format d'affichage
            return(string.Format("Sur la version {0}, {1} {2} a réalisé {3} jours de travail, et il lui reste {4} jours de planifiés",
                                 version, personne.Prenom, personne.Nom, d, d2));
        }
예제 #2
0
        public static void InitPersonne(ref Dictionary <string, Personnes> listePersonne, ref Dictionary <CodeMetiers, Metiers> listeMétier)
        {
            //Initialisation des métiers et activités dans la liste Métier
            listeMétier.Add(CodeMetiers.ANA, new Metiers {
                Activité = Activités.DBE | Activités.ARF | Activités.ANF, LibelléActivité = LibelléActivités.DéfinitionDesBesoins | LibelléActivités.ArchitectureFonctionnelle | LibelléActivités.AnalyseFonctionnelle, CodeMetier = CodeMetiers.ANA, LibelléMetier = LibelléMetiers.Analyste
            });
            listeMétier.Add(CodeMetiers.CDP, new Metiers {
                Activité = Activités.ARF | Activités.ANF | Activités.ART | Activités.TES | Activités.GDP, LibelléActivité = LibelléActivités.ArchitectureFonctionnelle | LibelléActivités.AnalyseFonctionnelle | LibelléActivités.ArchitectureTechnique | LibelléActivités.Test | LibelléActivités.GestionDeProjet, CodeMetier = CodeMetiers.CDP, LibelléMetier = LibelléMetiers.ChefDeProjet
            });
            listeMétier.Add(CodeMetiers.DEV, new Metiers {
                Activité = Activités.ANF | Activités.ART | Activités.ANT | Activités.DEV | Activités.TES, LibelléActivité = LibelléActivités.AnalyseFonctionnelle | LibelléActivités.ArchitectureTechnique | LibelléActivités.AnalyseTechnique | LibelléActivités.Développement | LibelléActivités.Test, CodeMetier = CodeMetiers.DEV, LibelléMetier = LibelléMetiers.Développeur
            });
            listeMétier.Add(CodeMetiers.DES, new Metiers {
                Activité = Activités.ANF | Activités.DES | Activités.INF, LibelléActivité = LibelléActivités.AnalyseFonctionnelle | LibelléActivités.Design | LibelléActivités.Infographie, CodeMetier = CodeMetiers.DES, LibelléMetier = LibelléMetiers.Designer
            });
            listeMétier.Add(CodeMetiers.TES, new Metiers {
                Activité = Activités.RPT | Activités.TES, LibelléActivité = LibelléActivités.RédactionDePlanDeTest | LibelléActivités.Test, CodeMetier = CodeMetiers.TES, LibelléMetier = LibelléMetiers.Testeur
            });

            //Génération des instances personnes d'après fichier dans le dictionnaire associé
            string chemin   = @"..\..\Personne.txt";
            int    compteur = 0;

            using (StreamReader str = new StreamReader(chemin, System.Text.Encoding.Default))
            {
                string ligne;
                while ((ligne = str.ReadLine()) != null) //Boucle tant qu'il y a des lignes à lire
                {
                    compteur++;
                    var tab = ligne.Split('\t');
                    try
                    {
                        //Initialise une instance de Personne
                        var Personne = new Personnes
                        {
                            Code   = tab[0],
                            Prenom = tab[1],
                            Nom    = tab[2],
                            Métier = listeMétier[(CodeMetiers)Enum.Parse(typeof(CodeMetiers), tab[3])]
                        };
                        //Ajout de l'instance DonnéesGestionTaches à la collection de données
                        listePersonne.Add(Personne.Code, Personne);
                    }
                    catch (FormatException)
                    {
                        //Lève une exception si le format des données du fichier n'est pas bon.
                        throw new FormatException("\bUne erreur de format a été identifié dans le fichier de données à la ligne");
                    }
                }
            }
        }
예제 #3
0
        public static void AfficherTravailPersonne(List <Production> data, List <Personnes> personnes)
        {
            string saisiea, saisieb;
            int    travReal, travRest;

            Console.WriteLine("Quelle est la version de logiciel sur laquelle vous voulez avoir une information, 1.00 ou 2.00?");
            saisiea = Console.ReadLine();
            Console.WriteLine("Pour quelle personne voulez-vous avoir une information? initiale");
            saisieb = Console.ReadLine();
            Personnes p = Personnes.TrouverNom(personnes, saisieb);

            travReal = Results.DuréeTravailRéaliséPersonne(data, saisieb, saisiea);
            travRest = Results.DuréeTravailRestantPersonne(data, saisieb, saisiea);
            Console.WriteLine("Sur la version {0}, {1} {2} a réalisé {3} jours de travail, et il lui reste {4} jours de planifiés.", saisiea, p.Prénom, p.Nom, travReal, travRest);
        }
예제 #4
0
        static void Main(string[] args)
        {
            var a1 = new DAL();                    //on appelle le constructeur de la classe DAL donc on instancie une nouvelle liste

            a1.ChargeFichier();                    // appel de la méthode charge fichier et chargement des données dans la nouvelle liste

            var listannexe = new List <Annexes>(); //on instancie une nouvelle liste d'annexe

            Annexes.SaisieAnnexe(listannexe);      //on appelle la méthode statique SaisieAnnexe, on envoie à la méthode grâce à son paramétre la nouvelle liste d'annexe vide
            Annexes.AffichageAnnexe(listannexe);

            var personnes = new List <Personnes>();// on instancie une nouvelle liste de personnes

            Personnes.RemplissagePersonne(personnes);

            var métiers = new Métiers();//on appelle le constructeur par défault (sans paramétre) de la classe Métiers donc on instancie un nouveau métier

            métiers.RemplissageMétier();

            var activités = new Activités();//on appelle le constructeur par défault (sans paramétre) de la classe Métiers donc on instancie une nouvelle activité

            activités.RemplissageActivité();

            int choix1 = 1;
            int choix2;

            while (choix1 == 1 || choix1 == 2 || choix1 == 3)
            {
                Console.WriteLine("1 - Saisir des activités annexes.");
                Console.WriteLine("2 - Afficher des résultats.");
                Console.WriteLine("3 - Changer la durée restante d'une tâche.");
                Console.WriteLine("4 - Quitter.");
                choix1 = int.Parse(Console.ReadLine());
                switch (choix1)
                {
                case 1:
                    Annexes.SaisieAnnexe(listannexe);
                    break;

                case 2:
                    Console.WriteLine("1 - Concernant une activité.");
                    Console.WriteLine("2 - Concernant une personne.");
                    Console.WriteLine("3 - Concernant le pourcentage d'avancement.");
                    Console.WriteLine("4 - Revenir au menu précédent.");
                    Console.WriteLine("5 - Quitter.");
                    choix2 = int.Parse(Console.ReadLine());
                    switch (choix2)
                    {
                    case 1:
                        Results.AfficherTravailActivité(a1.Data, activités);
                        break;

                    case 2:
                        Results.AfficherTravailPersonne(a1.Data, personnes);
                        break;

                    case 3:
                        Results.AfficherPourcentage(a1.Data);
                        break;

                    case 4:
                        break;

                    case 5:
                        choix1 = 4;
                        break;

                    default:
                        break;
                    }
                    break;

                case 3:
                    if (Production.ChangerDuréeTache(a1.Data))
                    {
                        Console.WriteLine("Changement effectué avec succès.");
                    }
                    else
                    {
                        Console.WriteLine("Changement impossible !");
                    }
                    break;

                default:

                    break;
                }
            }
            Console.ReadKey();
        }