示例#1
0
        static void Main(string[] args)
        {
            var employe1 = new Employe("LAIB", "LAIB", 18, 1000);
            var employe2 = new Employe("KACED ", "Yasmine", 19, 1100);
            var employe3 = new Employe("ATHMANI ", "Darine", 20, 1200);
            var employe4 = new Employe("AYAD ", "Ishak", 21, 1300);
            var employe5 = new Employe("IGHIT ", "Yanis", 22, 1400);

            var chef1 = new Chef("BEAUCHAMP", "David", 48, 4000, "Informatique");
            var chef2 = new Chef("PRECIGOUT", "Pascal", 50, 3000, "Medecine");

            var directeur = new Directeur("JOLIE", "Femme", 45, 3000, "MEDECINE", "Medecin");


            //Inserer au debut de la liste
            var Liste = new Liste();

            Liste.InsererDebut(employe1);
            Liste.InsererDebut(employe2);
            Liste.InsererDebut(employe3);
            Liste.InsererDebut(employe4);
            Liste.InsererDebut(employe5);
            Liste.InsererDebut(chef1);
            Liste.InsererDebut(chef2);
            Liste.InsererDebut(directeur);

            var ListeEnumeration = new ListeEnumeration(Liste);

            while (ListeEnumeration.MoveNext())
            {
                Console.WriteLine(ListeEnumeration.Current().ToString());
                Console.WriteLine(Environment.NewLine);
            }
        }
        public ActionResult DeleteConfirmed(string id)
        {
            Directeur directeur = db.Directeurs.Find(id);

            db.Directeurs.Remove(directeur);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "Nom")] Directeur directeur)
 {
     if (ModelState.IsValid)
     {
         db.Entry(directeur).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(directeur));
 }
示例#4
0
        public ActionResult SupprimerDirecteur(string contenuId, string DirecteurId)
        {
            Contenu   contenu   = db.Contenus.Find(contenuId);
            Directeur directeur = db.Directeurs.Find(DirecteurId);

            if (directeur == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            contenu.Directeurs.Remove(directeur);
            db.SaveChanges();
            return(Redirect(Url.Action("Edit", "Contenus", new { id = contenuId })));
        }
        // GET: Directeurs/Edit/5
        public ActionResult Edit(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Directeur directeur = db.Directeurs.Find(id);

            if (directeur == null)
            {
                return(HttpNotFound());
            }
            return(View(directeur));
        }
        public ActionResult Create([Bind(Include = "Nom")] Directeur directeur)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    db.Directeurs.Add(directeur);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
                catch (Exception ex)
                {
                    ViewBag.Erreur = "Le nom existe déja. \n" + ex.Message;
                }
            }

            return(View(directeur));
        }
示例#7
0
        public ActionResult AjouterDirecteur(string titre, string nomDirecteur)
        {
            Contenu contenu = db.Contenus.Find(titre);

            if (nomDirecteur != null)
            {
                if (nomDirecteur.Trim().Length != 0)
                {
                    Directeur directeur = db.Directeurs.Find(nomDirecteur);
                    if (directeur == null)
                    {
                        directeur     = new Directeur();
                        directeur.Nom = nomDirecteur;
                        db.Directeurs.Add(directeur);
                    }
                    contenu.Directeurs.Add(directeur);
                    db.SaveChanges();
                }
            }
            return(Redirect(Url.Action("Edit", "Contenus", new { id = titre })));
        }
示例#8
0
        static void Main(string[] args)
        {
            // Déclaration des différentes variable Date
            DateTime Date_01 = Convert.ToDateTime("12/12/1985");
            DateTime Date_02 = Convert.ToDateTime("14/01/1987");
            DateTime Date_03 = Convert.ToDateTime("20/05/1975");
            DateTime Date_04 = Convert.ToDateTime("06/05/1984");
            DateTime Date_05 = Convert.ToDateTime("16/07/1976");
            DateTime Date_06 = Convert.ToDateTime("24/02/1987");
            DateTime Date_07 = Convert.ToDateTime("19/09/1952");
            DateTime Date_08 = Convert.ToDateTime("26/01/1956");

            // Déclaration des différents élément de mon tableau
            Employe   Employe_01   = new Employe(Date_01, "BRUNEAU", "François", 1542.12);
            Employe   Employe_02   = new Employe(Date_02, "BERTHELOT", "Pierre", 1142.12);
            Employe   Employe_03   = new Employe(Date_03, "LABAUME", "Gregory", 2542.12);
            Employe   Employe_04   = new Employe(Date_04, "BASSET", "Cécile", 1642.12);
            Employe   Employe_05   = new Employe(Date_05, "BRUNEAU", "François", 1542.12);
            Chef      Chef_01      = new Chef(Date_06, "BOURASSIN", "Clément", 2541.25, "Aéronautique");
            Chef      Chef_02      = new Chef(Date_07, "SANNIER", "Mylène", 2598.2, "Animalier");
            Directeur Directeur_01 = new Directeur(Date_08, "GAUDRON", "Fabien", 3025.45, "Direction Générale", "LeoProd");

            // Création du tableau avec les éléments que j'ai créé précédemment
            Personne[] TablePersonne = { Employe_01, Employe_02, Employe_03, Employe_04, Employe_05, Chef_01, Chef_02, Directeur_01 };

            // Affichage des différents éléments grâce à une boucle for
            for (int i = 0; i < TablePersonne.Length; i++)
            {
                TablePersonne[i].Afficher();
            }

            // Affichage des différents éléments grâce à une boucle foreach
            foreach (Personne Elem in TablePersonne)
            {
                Elem.Afficher();
            }

            // Attente de l'appui d'une touche
            Console.ReadKey();
        }
示例#9
0
文件: Test.cs 项目: Sambertrand/Poo1
 public void Init()
 {
     d = new Directeur("xav", "VDD");
 }
示例#10
0
        static void Main(string[] args)
        {
            Console.WriteLine("Exo 1.1 :");
            var article = new Article("video", 29.00);
            var disque  = new Disque("Les Enfoirés", "Disque", 19.99);
            var video   = new Video(23.54, "Video", 39.99);

            article.Acheter();
            disque.Ecouter();
            video.Afficher();
            Console.WriteLine("------------------------------------------------------------");
            Console.WriteLine("Exo 1.2 :");
            var article2 = new Article2("Manga", 19.99, 2);
            var article3 = new Article2("La reine des neiges", 29.99, 1);

            article2.Afficher();
            article3.Afficher();
            article2.Retirer(1);
            article3.Ajouter(2);
            Console.WriteLine("Tapez le nom de l'article :");
            string title = Console.ReadLine().ToString();

            Console.WriteLine("Tapez le prix de l'article :");
            double price = Convert.ToDouble(Console.ReadLine());

            Console.WriteLine("Tapez la quantité de l'article :");
            int quantity    = Convert.ToInt16(Console.ReadLine());
            var articleUser = new Article2(title, price, quantity);

            articleUser.Afficher();
            Console.WriteLine("------------------------------------------------------------");
            Console.WriteLine("Exo 1.3 :");
            var article4 = new Article3("Raviolis", 3.99, 1, ArticleType.Alimentaire);
            var article5 = new Article3("PS5", 499.99, 1, ArticleType.Loisir);

            article4.Afficher();
            article5.Afficher();
            Console.WriteLine("Tapez le nom de l'article :");
            string title2 = Console.ReadLine().ToString();

            Console.WriteLine("Tapez le prix de l'article :");
            double price2 = Convert.ToDouble(Console.ReadLine());

            Console.WriteLine("Tapez la quantité de l'article :");
            int quantity2 = Convert.ToInt16(Console.ReadLine());

            Console.WriteLine("Tapez le type de l'article (Alimentaire, Droguerie, Habillement, Loisir) :");
            ArticleType type         = (ArticleType)Enum.Parse(typeof(ArticleType), Console.ReadLine().ToString(), true);
            var         articleUser2 = new Article3(title2, price2, quantity2, type);

            articleUser2.Afficher();
            Console.WriteLine("------------------------------------------------------------");
            Console.WriteLine("Exo 1.4 :");
            Article3[] articlesArray = new Article3[3];
            articlesArray[0] = article4;
            articlesArray[1] = article5;
            articlesArray[2] = articleUser2;
            for (int i = 0; i < articlesArray.Length; i++)
            {
                articlesArray[i].Afficher();
            }
            Console.WriteLine("------------------------------------------------------------");
            Console.WriteLine("Exo 2.1 :");
            Personne personne  = new Personne("Valentin", "Stockman", 25);
            Personne personne1 = new Personne("Mickey", "Mouse", 35);

            personne.Afficher();
            personne1.Afficher();
            personne.Combien();
            Console.WriteLine("------------------------------------------------------------");
            Console.WriteLine("Exo 2.2 :");
            Employe e1 = new Employe("Valentin", "Stockman", 25, 3000);
            Employe e2 = new Employe("Mickey", "Mouse", 35, 2000);
            Employe e3 = new Employe("Employe", "Employe", 20, 1600);
            Employe e4 = new Employe("Employe2", "Employe2", 30, 2400);

            Chef      c1 = new Chef("Chef 1", "nom Chef 1", 33, 3000, "Marketing");
            Chef      c2 = new Chef("Chef 2", "nom Chef 2", 30, 3200, "Informatique");
            Directeur d  = new Directeur("Jean", "Charles", 38, 4500, "R&D", "ITESCIA");

            e1.Salaire = 5000;
            c1.Service = "Comptabilite";
            Personne2[] personnesArray = new Personne2[7];
            personnesArray[0] = e1;
            personnesArray[1] = e2;
            personnesArray[2] = e3;
            personnesArray[3] = e4;
            personnesArray[4] = c1;
            personnesArray[5] = c2;
            personnesArray[6] = d;

            for (int i = 0; i < personnesArray.Length; i++)
            {
                personnesArray[i].Afficher();
            }

            Console.WriteLine("------------------------------------------------------------");
            Console.WriteLine("Exo 2.3 :");
            Employe   employe1  = new Employe("Valentin", "Stockman", 25, 3000);
            Employe   employe2  = new Employe("Mickey", "Mouse", 35, 2000);
            Employe   employe3  = new Employe("Employe", "Employe", 20, 1600);;
            Employe   employe4  = new Employe("Employe2", "Employe2", 30, 2400);
            Employe   employe5  = new Employe("Gogeta", "Super Sayan", 45, 3700);
            Chef      chef1     = new Chef("Chef 1", "nom Chef 1", 33, 3000, "Marketing");
            Chef      chef2     = new Chef("Chef 2", "nom Chef 2", 30, 3200, "Informatique");
            Directeur directeur = new Directeur("Jean", "Charles", 38, 4500, "R&D", "ITESCIA");

            Console.WriteLine("Insertion des éléments à la liste : ");

            Liste personnes = new Liste();

            personnes.InsererDebut(directeur);
            personnes.InsererDebut(chef2);
            personnes.InsererDebut(chef1);
            personnes.InsererDebut(employe5);
            personnes.InsererDebut(employe4);
            personnes.InsererDebut(employe3);
            personnes.InsererDebut(employe2);
            personnes.InsererDebut(employe1);

            Console.WriteLine("Nombre d'éléments : {0}", personnes.NbElements);
            personnes.Lister();

            Console.WriteLine("Vidage de la liste");
            personnes.Vider();

            Console.WriteLine("Nombre d'éléments : {0}", personnes.NbElements);
            personnes.Lister();

            Console.WriteLine("Avec insertion de fin :");
            personnes.InsererFin(employe1);
            personnes.InsererFin(employe2);
            personnes.InsererFin(employe3);
            personnes.InsererFin(employe4);
            personnes.InsererFin(employe5);
            personnes.InsererFin(chef1);
            personnes.InsererFin(chef2);
            personnes.InsererFin(directeur);

            Console.WriteLine("Nombre d'éléments : {0}", personnes.NbElements);
            Console.WriteLine("Avec indexeur");
            for (int i = 0; i < personnes.NbElements; i++)
            {
                Console.WriteLine(personnes[i].Objet.ToString());
            }

            Console.WriteLine("------------------------------------------------------------");
            Console.WriteLine("Exo 2.4 :");
            ListeEnumerator personnesEnumerator = new ListeEnumerator(personnes);

            Console.WriteLine("Nombre d'éléments : {0}", personnes.NbElements);
            Console.WriteLine("Avec enumerator :");
            do
            {
                Console.WriteLine(personnesEnumerator.Current().ToString());
            }while (personnesEnumerator.MoveNext());
            Console.WriteLine("------------------------------------------------------------");
            Console.WriteLine("Exo 3.1 :");
            List <int> listeEntiers = new List <int> {
                1, 2, 3, 4, 5, 6, 7, 8, 9
            };
            List <int> listEntiersPremiers = (from unEntier in listeEntiers
                                              where IsPrime(unEntier)
                                              select unEntier).ToList();

            foreach (int val in listEntiersPremiers)
            {
                Console.WriteLine($"{val} ");
            }


            Console.WriteLine("------------------------------------------------------------");
            Console.WriteLine("Exo 3.2 :");
            List <int> listeAnnees = new List <int> {
                2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020
            };
            List <int> listAnneesBissextiles = (from uneAnnee in listeAnnees
                                                where IsLeapYear(uneAnnee)
                                                select uneAnnee).ToList();

            foreach (int val in listAnneesBissextiles)
            {
                Console.WriteLine($"{val} ");
            }

            Console.WriteLine("------------------------------------------------------------");
            Console.WriteLine("Exo 3.3 :");
            List <int> listeEntiers2 = new List <int> {
                1, 2, 3, 4, 5, 6, 7, 8, 9, 10
            };
            List <int> listEntiersDivisiblesPar5 = listeEntiers2.
                                                   Where(valeur => valeur % 5 == 0)
                                                   .ToList();

            foreach (int val in listEntiersDivisiblesPar5)
            {
                Console.WriteLine($"{val} ");
            }


            Console.WriteLine("------------------------------------------------------------");
            Console.WriteLine("Exo 3.4 :");
            var articleliste  = new Article("video", 29.00);
            var articleliste2 = new Article("livre", 39.00);
            var articleliste3 = new Article("disque", 49.00);
            var articleliste4 = new Article("video", 19.00);

            List <Article> listeArticle = new List <Article>();

            listeArticle.Add(articleliste);
            listeArticle.Add(articleliste2);
            listeArticle.Add(articleliste3);
            listeArticle.Add(articleliste4);


            List <Article> listeArticles2 = listeArticle.
                                            Where(valeur => valeur.MonPrix < 5)
                                            .ToList();

            foreach (Article val in listeArticle)
            {
                val.Acheter();
            }

            Console.WriteLine("------------------------------------------------------------");
            Console.WriteLine("Exo 3.5 :");

            List <Article2> listeArticleNew = new List <Article2>();

            listeArticleNew.Add(new Article2("video", 29.00, 1));
            listeArticleNew.Add(new Article2("livre", 39.00, 2));
            listeArticleNew.Add(new Article2("disque", 49.00, 3));


            foreach (Article2 val in listeArticleNew)
            {
                GetArticlePriceAndQuantity(val.Nom);
            }

            Console.WriteLine("------------------------------------------------------------");
            Console.WriteLine("Exo 3.6-3.7 :");

            List <Article2> articlesList = new List <Article2>();

            articlesList.Add(new Article2("Livre de cuisine", 9.99, 1));
            articlesList.Add(new Article2("Ordinateur portable", 4.99, 2));
            articlesList.Add(new Article2("DVD", 0.99, 3));

            ArticleDAO dao         = new ArticleDAO(articlesList);
            string     articleName = "Livre de cuisine";
            int        quantity5   = dao.GetArticleQuantityPriceByName(articleName).Item1;
            double     price5      = dao.GetArticleQuantityPriceByName(articleName).Item2;

            Console.WriteLine($"There are {quantity5} articles by the name of {articleName} and their price is {price5}");
            Console.WriteLine(dao.GetArticlesMinMaxAndAverage());
        }
示例#11
0
 protected void Modifie()
 {
     Directeur.ControleModifie(this);
 }
示例#12
0
        static void Main(string[] args)
        {
            /**
             * Load from the input files
             */
            //READ DIRCTOR
            List <Directeur> di = new List <Directeur>();
            List <Manager>   ma = new List <Manager>();
            List <Client>    ci = new List <Client> {
                new Client("Entreprise", "CL00")
            };
            DF  difin  = null;
            DRH direhu = null;

            string[] lines = null;
            try
            {
                lines = System.IO.File.ReadAllLines(@"../../../inputDir.txt");
            }
            catch
            {
                Console.WriteLine("Error of loading directors");
            }
            string patternDI = @"^D[IFH] \w+ \w+$";
            Regex  rgxDI     = new Regex(patternDI);

            foreach (string line in lines)
            {
                if (rgxDI.IsMatch(line))
                {
                    string[] words = line.Split(' ');

                    if (words[0] == "DI")
                    {
                        Directeur directeur = new Directeur(words[1], words[2]);
                        di.Add(directeur);
                    }

                    if (words[0] == "DF")
                    {
                        difin = new DF(words[1], words[2]);
                        di.Add(difin);
                    }

                    if (words[0] == "DH")
                    {
                        direhu = new DRH(words[1], words[2]);
                        di.Add(direhu);
                    }
                }
            }

            //READ MANAGERS

            try
            {
                lines = System.IO.File.ReadAllLines(@"../../../inputMan.txt");
            }
            catch
            {
                Console.WriteLine("Error of loading managers");
            }

            string patternMA = @"^\w+ \w+ MA\d+$";
            Regex  rgxMA     = new Regex(patternMA);

            foreach (string line in lines)
            {
                if (rgxMA.IsMatch(line))
                {
                    string[] words   = line.Split(' ');
                    Manager  manager = new Manager(words[0], words[1], words[2]);
                    ma.Add(manager);
                }
            }

            //READ CLIENTS
            try
            {
                lines = System.IO.File.ReadAllLines(@"../../../inputCli.txt");
            }
            catch
            {
                Console.WriteLine("Error of loading clients");
            }

            string patternCI = @"^\w+ CL\d+$";
            Regex  rgxCI     = new Regex(patternCI);

            foreach (string line in lines)
            {
                if (rgxCI.IsMatch(line))
                {
                    string[] words  = line.Split(' ');
                    Client   client = new Client(words[0], words[1]);
                    ci.Add(client);
                }
                else
                {
                    Console.WriteLine("merde");
                }
            }

            //READ CONSULTANTS
            try
            {
                lines = System.IO.File.ReadAllLines(@"../../../inputCon.txt");
            }
            catch
            {
                Console.WriteLine("Error of loading consultants");
            }

            string patternCO = @"^\w+ \w+ MA\d+ \d{2}(?:\d{2}) CO($1)\d+$";
            Regex  rgxCO     = new Regex(patternCO);

            foreach (string line in lines)
            {
                string[] words   = line.Split(' ');
                Manager  manager = null;
                //if (rgxCO.IsMatch(line))
                //{
                foreach (Manager man in ma)
                {
                    if (man.Matricule == words[2])
                    {
                        manager = man;
                    }
                }
                //}
                Consultant consultant = new Consultant(words[0], words[1], manager, Int32.Parse(words[3]), words[4], ci[0]);
            }


            //READ MISSION
            try
            {
                lines = System.IO.File.ReadAllLines(@"../../../inputMis.txt");
            }

            catch
            {
                Console.WriteLine("Error of loading missions");
            }

            //string patternMI = @"^CL\d+ CO\d{2}\d+ (((31-((0[13578])|(1[02])))|([012]\d)-((0\d)|(1[012]))|(30-((0[13456789])|1[012])))-\d{4}) (((31-((0[13578])|(1[02])))|([012]\d)-((0\d)|(1[012]))|(30-((0[13456789])|1[012])))-\d{4})$";
            //Regex rgxMI = new Regex(patternMI);

            foreach (string line in lines)
            {
                string[] words   = line.Split(' ');
                string[] datein  = words[2].Split('-');
                string[] dateout = words[3].Split('-');
                DateTime DateIn  = new DateTime(Int32.Parse(datein[2]), Int32.Parse(datein[1]), Int32.Parse(datein[0]));
                DateTime DateOut = new DateTime(Int32.Parse(dateout[2]), Int32.Parse(dateout[1]), Int32.Parse(dateout[0]));

                Client     client     = null;
                Consultant consultant = null;

                foreach (Client cli in ci)
                {
                    if (cli.Matricule == words[0])
                    {
                        client = cli;
                    }
                }

                foreach (Manager man in ma)
                {
                    foreach (Consultant con in man.GetSubs)
                    {
                        if (con.Matricule == words[1])
                        {
                            consultant = con;
                        }
                    }
                }
                try
                {
                    new Mission(ci[0], consultant, consultant.GetMissions(DateIn.Year).Last().EndDate.AddDays(1), DateIn.AddDays(-1));
                }
                catch (KeyNotFoundException)
                {
                    //no mission in the consultant yet
                }
                if (DateIn.Year == DateOut.Year)
                {
                    new Mission(client, consultant, DateIn, DateOut);
                }
                else
                {
                    DateTime DateOutbis = new DateTime(DateIn.Year, 12, 31);
                    new Mission(client, consultant, DateIn, DateOutbis);
                    DateTime DateInbis = new DateTime(DateOutbis.AddYears(1).Year, 01, 01);
                    int      c         = 0;
                    while (DateInbis.AddYears(c).Year < DateOut.Year)
                    {
                        c++;
                        new Mission(client, consultant, DateInbis.AddYears((c - 1)), DateOutbis.AddYears(c));
                    }
                    new Mission(client, consultant, DateInbis.AddYears(c), DateOut);
                }
            }

            // ##Display the elements of the variables created (tree)

            /*
             * Console.ReadKey();
             * Console.Clear();
             * foreach(Directeur dir in di)
             * {
             *   Console.WriteLine(dir);
             * }
             * Console.WriteLine(direhu);
             * Console.WriteLine(difin);
             * foreach (Manager man in ma)
             * {
             *   Console.WriteLine(man);
             *   foreach (Consultant con in man.GetSubs)
             *   {
             *       Console.Write("----|");
             *       Console.WriteLine(con);
             *   }
             * }
             * foreach(Client cli in ci)
             * {
             *   Console.WriteLine(cli.Name);
             *   foreach (List<Mission> miss in cli.Missions.Values)
             *   {
             *       foreach(Mission mis in miss)
             *       {
             *           Console.Write(mis.EndDate.Year + "----|");
             *           Console.WriteLine(mis.Consultant);
             *       }
             *   }
             * }
             *
             * Console.ReadKey();
             */

            //UI
            bool S = true;

            while (S)
            {
                Console.Clear();
                Console.WriteLine("Select a mod (enter the number of your selection)");
                Console.WriteLine(" ");
                Console.WriteLine("1. Get report of a manager");
                Console.WriteLine("2. Get report of the Human Resources Director");
                Console.WriteLine("3. Get report of the financial director");
                Console.WriteLine(" ");
                Console.WriteLine("enter q to quit");
                Console.WriteLine(" ");
                string sel = Console.ReadLine();

                if (sel == "1")
                {
                    Console.Clear();
                    Console.WriteLine("Select a manager");
                    Console.WriteLine(" ");

                    int count = 0;
                    foreach (Manager man in ma)
                    {
                        count++;
                        Console.WriteLine(count.ToString() + ". " + man.ToString());
                    }
                    bool M = true;
                    while (M)
                    {
                        try
                        {
                            Console.WriteLine(" ");
                            sel = Console.ReadLine();
                            ma[Int32.Parse(sel) - 1].GenerateReport();
                            Console.WriteLine(" ");
                            Console.WriteLine("Report generated");
                            Console.ReadKey();
                            M = false;
                        }
                        catch
                        {
                            Console.WriteLine(" ");
                            Console.WriteLine("Please select a manager");
                        }
                    }
                    sel = null;
                }

                if (sel == "2")
                {
                    Console.Clear();
                    Console.WriteLine("Select a client");
                    Console.WriteLine(" ");

                    int count = 0;
                    foreach (Client cli in ci)
                    {
                        count++;
                        Console.WriteLine(count.ToString() + ". " + cli.Name);
                    }
                    bool F = true;
                    while (F)
                    {
                        try
                        {
                            Console.WriteLine(" ");
                            sel = Console.ReadLine();
                            direhu.GenerateReport(ci[Int32.Parse(sel) - 1]);
                            Console.WriteLine(" ");
                            Console.WriteLine("Report generated");
                            Console.ReadKey();
                            F = false;
                        }
                        catch
                        {
                            Console.WriteLine(" ");
                            Console.WriteLine("Please select a client");
                        }
                    }
                    sel = null;
                }

                if (sel == "3")
                {
                    Console.Clear();
                    Console.WriteLine("Enter a year completed");
                    Console.WriteLine(" ");
                    bool H = true;
                    while (H)
                    {
                        try
                        {
                            sel = Console.ReadLine();
                            if (Int32.Parse(sel) != DateTime.Now.Year)
                            {
                                difin.GenerateReport(di, ma, Int32.Parse(sel));
                                Console.WriteLine(" ");
                                Console.WriteLine("Report generated");
                                Console.ReadKey();
                                H = false;
                            }
                            else
                            {
                                Console.WriteLine(" ");
                                Console.WriteLine("Please enter a year completed");
                                Console.WriteLine(" ");
                            }
                        }
                        catch
                        {
                            Console.WriteLine(" ");
                            Console.WriteLine("Please enter a year completed");
                            Console.WriteLine(" ");
                        }
                    }
                    sel = null;
                }

                if (sel == "q" || sel == "Q")
                {
                    S = false;
                }
            }
        }