Beispiel #1
0
        static void Main(string[] args)
        {
            InitialiserDatas();


            var prenomsG = ListeAuteurs.Where(a => a.Nom.ToUpper().StartsWith("G")).Select(a => a.Prenom);

            Console.WriteLine("La liste des prenoms des auteurs dont le nom commence par \"G\"");
            foreach (var prenom in prenomsG)
            {
                Console.WriteLine(prenom);
            }
            Console.WriteLine();


            var auteurPlusDeLivres = ListeLivres.GroupBy(l => l.Auteur).OrderByDescending(g => g.Count()).FirstOrDefault().Key;

            Console.WriteLine("Qui a écrit le plus de livres");
            Console.WriteLine($"{auteurPlusDeLivres.Prenom} {auteurPlusDeLivres.Nom}");
            Console.WriteLine();


            var livresparAuteur = ListeLivres.GroupBy(l => l.Auteur);

            Console.WriteLine("Nombre moyen de pages par livre par auteur");
            foreach (var item in livresparAuteur)
            {
                Console.WriteLine($"{item.Key.Prenom} {item.Key.Nom} moyennes des pages={item.Average(l => l.NbPages)}");
            }
            Console.WriteLine();


            var livreMaxPage = ListeLivres.OrderByDescending(l => l.NbPages).First();

            Console.WriteLine("Quel est le titre du livre avec le plus de pages");
            Console.WriteLine(livreMaxPage.Titre);
            Console.WriteLine();


            var moyenne = ListeAuteurs.Average(a => a.Factures.Sum(f => f.Montant));

            Console.WriteLine("Money en moyenne");
            Console.WriteLine(moyenne);
            Console.WriteLine();


            Console.WriteLine("Liste auteurs et Liste livres");

            var livresparAuteur2 = ListeLivres.GroupBy(l => l.Auteur);

            foreach (var livres in livresparAuteur2)
            {
                Console.WriteLine($"Auteur : {livres.Key.Prenom} {livres.Key.Nom} ");
                foreach (var livre in livres)
                {
                    Console.WriteLine($" - {livre.Titre}");
                }
            }
            Console.WriteLine();


            Console.WriteLine("Titres de tous les livres alphabétiquement");
            ListeLivres.Select(l => l.Titre).OrderBy(t => t).ToList().ForEach(Console.WriteLine);
            Console.WriteLine();


            Console.WriteLine("Liste des livres where nombre de page est > à la moyenne");
            var moyennePages      = ListeLivres.Average(l => l.NbPages);
            var livresPagesSupMoy = ListeLivres.Where(l => l.NbPages > moyennePages);

            foreach (var livre in livresPagesSupMoy)
            {
                Console.WriteLine($" - {livre.Titre}");
            }
            Console.WriteLine();


            Console.WriteLine("Qui a écrit le moins de livre ");

            var auteurMoinsDeLivres = ListeAuteurs.OrderBy(a => ListeLivres.Count(l => l.Auteur == a)).FirstOrDefault();

            Console.WriteLine($"{auteurMoinsDeLivres.Prenom} {auteurMoinsDeLivres.Nom}");
            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            InitialiserDatas();

            /*var auteurs = ListeAuteurs;
             * var livres = ListeLivres;*/
            Console.WriteLine("Liste de tous les auteurs : ");
            foreach (var auteur in ListeAuteurs)
            {
                Console.WriteLine(auteur.Nom);
            }

            var auteursNomG = ListeAuteurs.Where(a => a.Nom.StartsWith("G")).Select(a => a.Prenom);

            foreach (var auteur in auteursNomG)
            {
                Console.WriteLine($"Liste de tous les auteurs dont le nom commence par G : {auteur} \n");
            }

            // Afficher l auteur ayant écrit le plus de livres
            Console.WriteLine("L'auteur ayant écrit le plus de livres : ");
            var autMaxLivre = ListeLivres.Select(a => a.Auteur).First();

            Console.WriteLine(autMaxLivre.Nom);


            var auteurMaxLivres = ListeLivres.GroupBy(l => l.Auteur).OrderByDescending(n => n.Count()).First().Key;

            Console.WriteLine("L'auteur ayant écrit le plus de livres : " + auteurMaxLivres.Nom);

            //Afficher le nombre moyen de pages par livre par auteur
            var pageMoyenLivres = ListeLivres.GroupBy(l => l.Auteur);

            foreach (var element in pageMoyenLivres)
            {
                Console.WriteLine($"{element.Key.Prenom} {element.Key.Nom} écrit en moyenne {element.Average(e => e.NbPages)} pages");
            }

            //Afficher le titre du livre avec le plus de pages
            var livreMaxPAge = ListeLivres.OrderByDescending(p => p.NbPages).First();

            Console.WriteLine($"Le livre ayant le max de pages est : {livreMaxPAge.Titre}");


            //Afficher combien ont gagné les auteurs en moyenne (moyenne des factures)
            var gagnerAuteur = ListeAuteurs.Average(a => a.Factures.Sum(f => f.Montant));

            Console.WriteLine($"En moyenne les autteurs ont gangé {gagnerAuteur} €");


            //Afficher les auteurs et la liste de leurs livres
            var auteurs = ListeAuteurs;
            var livres  = ListeLivres;

/*            foreach (var auth in ListeAuteurs)
 *          {
 *              Console.WriteLine("Auteur : " + auth.Nom);
 *
 *              foreach (var livreParAuth in ListeLivres)
 *              {
 *                  Console.WriteLine(livreParAuth.Titre);
 *              }
 *          }*/

            //Afficher les titres de tous les livres triés par ordre alphabétique
            var listeLivreCroissant = ListeLivres.OrderBy(l => l.Titre).Select(t => t.Titre);

            Console.WriteLine("Liste des livres par ordre alphabétique");
            foreach (var livreAlph in listeLivreCroissant)
            {
                Console.WriteLine(livreAlph);
            }


            //Afficher la liste des livres dont le nombre de page s est supérieur à la moyenne
            var moyennePage      = ListeLivres.Average(p => p.NbPages);
            var livresSupMoyenne = ListeLivres.Where(p => p.NbPages > moyennePage);

            Console.WriteLine($"Liste des livres dont le nombre de page est sup a {moyennePage} :");
            foreach (var livreSup in livresSupMoyenne)
            {
                Console.WriteLine(livreSup.Titre);
            }


            //Afficher l'auteur ayant écrit le moins de livres
            Console.WriteLine("L'auteur ayant écrit le moins de livres : ");
            var authMoinsLivre = ListeLivres.Select(a => a.Auteur).Last();

            Console.WriteLine(authMoinsLivre.Nom);


            Console.ReadKey();
        }
Beispiel #3
0
        static void Main(string[] args)
        {
            InitialiserDatas();

            var prenomsStartG = ListeAuteurs.Where(a => a.Nom.StartsWith("G")).Select(a => a.Prenom);

            Console.WriteLine("Voici la liste des prenoms des auteurs dont le nom commence par la lettre G \n");
            foreach (var prenom in prenomsStartG)
            {
                Console.WriteLine(prenom);
            }
            Console.WriteLine("-----------------------------------------------------------------------------");

            var authorMostBooks = ListeLivres.GroupBy(a => a.Auteur).OrderByDescending(b => b.Count()).FirstOrDefault().Key;

            Console.WriteLine("L'auteur qui a écrit le plus de livre est : \n");
            Console.WriteLine($"{authorMostBooks.Nom.ToUpper()} {authorMostBooks.Prenom}");
            Console.WriteLine("-----------------------------------------------------------------------------");

            var booksByAuthor = ListeLivres.GroupBy(a => a.Auteur);

            Console.WriteLine("Voici le nombre moyen de pages par livre par auteur \n");
            foreach (var item in booksByAuthor)
            {
                Console.WriteLine($"{item.Key.Nom.ToUpper()} {item.Key.Prenom} avec une moyenne de pages = {item.Average(b => b.NbPages)}");
            }
            Console.WriteLine("-----------------------------------------------------------------------------");

            var booksMostPages = ListeLivres.OrderByDescending(a => a.NbPages).First();

            Console.WriteLine("Le titre du livre avec le plus de pages : \n");
            Console.WriteLine($"{booksMostPages.Titre} avec {booksMostPages.NbPages} pages.");
            Console.WriteLine("-----------------------------------------------------------------------------");

            var averageAuthorGains = ListeAuteurs.Average(a => a.Factures.Sum(b => b.Montant));

            Console.WriteLine("Voici combien les auteurs ont gagnés en moyenne \n");
            Console.WriteLine(averageAuthorGains);
            Console.WriteLine("-----------------------------------------------------------------------------");

            var booksByAuthor2 = ListeLivres.GroupBy(a => a.Auteur);

            foreach (var books in booksByAuthor2)
            {
                Console.WriteLine();
                Console.WriteLine($"Voici les livres de {books.Key.Nom.ToUpper()} {books.Key.Prenom} : \n");
                foreach (var book in books)
                {
                    Console.WriteLine(book.Titre);
                }
            }
            Console.WriteLine("-----------------------------------------------------------------------------");

            var booksByOrder = ListeLivres.Select(a => a.Titre).OrderBy(b => b).ToList();

            Console.WriteLine("Voici les titres des livres par ordre alphabétique \n");
            foreach (var title in booksByOrder)
            {
                Console.WriteLine(title);
            }

            Console.WriteLine("-----------------------------------------------------------------------------");
            var averagePages           = ListeLivres.Average(a => a.NbPages);
            var booksAboveAveragePages = ListeLivres.Where(a => a.NbPages > averagePages);

            Console.WriteLine($"Les titres des livres supérieures à la moyenne en page : \n");
            foreach (var book in booksAboveAveragePages)
            {
                Console.WriteLine($"{book.Titre}");
            }

            Console.WriteLine("-----------------------------------------------------------------------------");

            var authorWithLessBook = ListeLivres.GroupBy(a => a.Auteur).OrderBy(b => b.Count()).FirstOrDefault().Key;

            Console.WriteLine($"L'auteur ayant écrit le moins de livres : \n");
            Console.WriteLine(authorWithLessBook.Nom);

            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            InitialiserDatas();

            // Liste prénoms auteurs commencant par G
            var auteurCommencantParG = ListeAuteurs.Where(a => a.Nom.Substring(0, 1) == "G");

            Console.WriteLine("Liste prénoms auteurs commencant par G");
            foreach (var a in auteurCommencantParG)
            {
                Console.WriteLine(a.Prenom);
            }

            // Auteur ayant écrit le plus de livres
            var auteurs = ListeLivres.GroupBy(
                l => l.Auteur,
                (baseId, ids) => new
            {
                Key   = baseId,
                Count = ids.Count()
            });

            Console.WriteLine();
            Console.WriteLine("Auteur ayant écrit le plus de livres");

            foreach (var a in auteurs)
            {
                Console.WriteLine(a.Key.Nom);
                Console.WriteLine(a.Count);
            }


            //Nombre moyen de pages par auteurs
            //var pagesParAuteur = ListeLivres.GroupBy(
            //    l => l.Auteur,
            //    (basePage, pages) => new
            //    {
            //        Key = basePage,
            //        Min = pages.Min()
            //    });

            //Console.WriteLine();
            //Console.WriteLine("Nombre de pages myen par auteur");

            //foreach (var a in pagesParAuteur)
            //{
            //    Console.WriteLine(a.Key.Nom);
            //    Console.WriteLine(a.Min);
            //}

            //Auteur et liste de leurs livres

            Console.WriteLine();
            Console.WriteLine("Auteur et liste de leurs livres");
            foreach (var a in ListeAuteurs)
            {
                var           livresAuteurs = ListeLivres.Where(l => l.Auteur == a);
                StringBuilder sb            = new StringBuilder();
                sb.Clear();
                sb = sb.Append(a.Nom).Append(" : ");
                foreach (var l in livresAuteurs)
                {
                    sb = sb.Append(l.Titre).Append("; ");
                }
                Console.WriteLine(sb);
            }



            // Titre de tous les livres triés
            var livres = ListeLivres.OrderBy(l => l.Titre);

            Console.WriteLine();
            Console.WriteLine("Titres triés par ordre alpha");

            foreach (var l in livres)
            {
                Console.WriteLine(l.Titre);
            }

            // Livres dont le nb de pages est > à la moyenne
            var listNbPages = ListeLivres.Select(l => l.NbPages);

            double nbPagesMoyen = listNbPages.Average();

            var livresSupMoyenne = ListeLivres.Where(l => l.NbPages > nbPagesMoyen);

            Console.WriteLine();
            Console.WriteLine("Livres dont le nb de pages est > à la moyenne");

            foreach (var l in livresSupMoyenne)
            {
                Console.WriteLine(l.Titre);
            }
            //Console.WriteLine(nbPagesMoyen);

            Console.ReadKey();
        }
Beispiel #5
0
        static void Main(string[] args)
        {
            InitialiserDatas();


            var prenomsG = ListeAuteurs.Where(a => a.Nom.ToUpper().StartsWith("G")).Select(a => a.Prenom);

            Console.WriteLine("Liste Auteurs qui commence par\"G\"");

            foreach (var prenom in prenomsG)
            {
                Console.WriteLine(prenom);
            }
            Console.WriteLine();


            var auteurPlusDeLivres = ListeLivres.GroupBy(l => l.Auteur).OrderByDescending(g => g.Count()).FirstOrDefault().Key;

            Console.WriteLine("Auteur qui a ecrit le plus de livre");

            Console.WriteLine($"{auteurPlusDeLivres.Prenom} {auteurPlusDeLivres.Nom}");

            Console.WriteLine();


            var livresparAuteur = ListeLivres.GroupBy(l => l.Auteur);

            Console.WriteLine("nombre page moyen par auteur");
            foreach (var item in livresparAuteur)
            {
                Console.WriteLine($"{item.Key.Prenom} {item.Key.Nom} moyennes des pages={item.Average(l => l.NbPages)}");
            }
            Console.WriteLine();

            var livreMaxPage = ListeLivres.OrderByDescending(l => l.NbPages).First();

            Console.WriteLine("livre avec plus de page");

            Console.WriteLine(livreMaxPage.Titre);

            Console.WriteLine();


            var moyenne = ListeAuteurs.Average(a => a.Factures.Sum(f => f.Montant));

            Console.WriteLine("Combien ont gagne en moyenne");

            Console.WriteLine(moyenne);

            Console.WriteLine();

            Console.WriteLine("liste auteurs et de leurs livres");

            var livresparAuteur2 = ListeLivres.GroupBy(l => l.Auteur);

            foreach (var livres in livresparAuteur2)
            {
                Console.WriteLine($"Auteur : {livres.Key.Prenom} {livres.Key.Nom} ");
                foreach (var livre in livres)
                {
                    Console.WriteLine($" - {livre.Titre}");
                }
            }
            Console.WriteLine();

            Console.WriteLine(" livres par ordre alphabethique");
            ListeLivres.Select(l => l.Titre).OrderBy(t => t).ToList().ForEach(Console.WriteLine);
            Console.WriteLine();

            Console.WriteLine("");
            var moyennePages      = ListeLivres.Average(l => l.NbPages);
            var livresPagesSupMoy = ListeLivres.Where(l => l.NbPages > moyennePages);

            foreach (var livre in livresPagesSupMoy)
            {
                Console.WriteLine($" - {livre.Titre}");
            }
            Console.WriteLine();

            //- Afficher l'auteur ayant écrit le moins de livres
            Console.WriteLine("- Auteur ayant ecrit le moins de livres");
            //   var auteurMoinsDeLivres = ListeLivres.GroupBy(l => l.Auteur).OrderBy(g => g.Count()).FirstOrDefault().Key;

            var auteurMoinsDeLivres = ListeAuteurs.OrderBy(a => ListeLivres.Count(l => l.Auteur == a)).FirstOrDefault();

            Console.WriteLine($"{auteurMoinsDeLivres.Prenom} {auteurMoinsDeLivres.Nom}");
            Console.ReadKey();
        }
Beispiel #6
0
        static void Main(string[] args)
        {
            InitialiserDatas();

            //DEBUT prenom commencant par G
            var listPrenomG = ListeAuteurs.Where(a => a.Nom.StartsWith("G")).Select(a => a.Prenom);

            Console.WriteLine("Prénoms commencant par G : ");
            foreach (var prenomG in listPrenomG)
            {
                Console.WriteLine(prenomG);
            }
            //FIN prenom commencant par G

            Console.WriteLine();

            //DEBUT auteur avec le plus de livre
            var auteurMaxLivre = ListeLivres.GroupBy(l => l.Auteur).OrderByDescending(l => l.Count()).FirstOrDefault().Key;

            Console.WriteLine($"L'auteur avec le plus de livre est : {auteurMaxLivre.Prenom} {auteurMaxLivre.Nom}");
            //FIN auteur avec le plus de livre

            Console.WriteLine();

            //DEBUT nombre moyen page par auteur
            var ListeLivresParAuteur = ListeLivres.GroupBy(l => l.Auteur);

            Console.WriteLine("Nombre moyens de page par auteur : ");
            foreach (var listeLivres in ListeLivresParAuteur)
            {
                var nbPage = listeLivres.Average(l => l.NbPages);
                Console.WriteLine($"{listeLivres.Key.Prenom} {listeLivres.Key.Nom} a une moyennes de page de {nbPage}");
            }
            //FIN nombre moyen page par auteur

            Console.WriteLine();

            //DEBUT Livre avec le plus de page
            var livreMaxPage = ListeLivres.OrderByDescending(l => l.NbPages).First();

            Console.WriteLine($"Le livre avec le plus de page est : {livreMaxPage.Titre}");
            //FIN Livre avec le plus de page

            Console.WriteLine();

            //DEBUT Moyenne des factures auteurs
            var moyenne = ListeAuteurs.Average(a => a.Factures.Sum(f => f.Montant));

            Console.WriteLine($"La moyenne est de : {moyenne}");
            //FIN Moyenne des factures auteurs

            Console.WriteLine();

            //DEBUT Auteurs et leurs livres
            Console.WriteLine("Les auteurs et leurs livres : ");
            foreach (var listeLivres in ListeLivresParAuteur)
            {
                Console.WriteLine($"{listeLivres.Key.Prenom} {listeLivres.Key.Nom} :");
                foreach (var livre in listeLivres)
                {
                    Console.WriteLine($"    -  {livre.Titre}");
                }
            }
            //FIN Auteurs et leurs livres

            Console.WriteLine();

            //DEBUT Livres par ordre alphabétique
            Console.WriteLine("Livres par ordre alphabétique : ");
            var listeLivreOrdre = ListeLivres.Select(l => l.Titre).OrderBy(t => t);

            foreach (var livre  in listeLivreOrdre)
            {
                Console.WriteLine($"    -  {livre}");
            }
            //FIN Livres par ordre alphabétique

            Console.WriteLine();

            //DEBUT Livre nombre page > moyenne
            Console.WriteLine("Livre nombre page > moyenne :");
            var moyennePages      = ListeLivres.Average(l => l.NbPages);
            var livresSuppMoyenne = ListeLivres.Where(l => l.NbPages > moyennePages);

            foreach (var livre in livresSuppMoyenne)
            {
                Console.WriteLine($"    -  {livre.Titre}");
            }
            //FIN Livre nombre page > moyenne

            Console.WriteLine();

            //DEBUT Auteur avec le moins de livre
            var auteurMoinsLivre = ListeLivres.GroupBy(l => l.Auteur).OrderBy(l => l.Count()).FirstOrDefault().Key;

            Console.WriteLine($"L'auteur avec le moins de livre est : {auteurMoinsLivre.Prenom} {auteurMoinsLivre.Nom}");
            //FIN Auteur avec le moins de livre

            Console.ReadKey();
        }
Beispiel #7
0
        static void Main(string[] args)
        {
            InitialiserDatas();

            Console.WriteLine("test");


            //   ◦ Afficher la liste des prénoms des auteurs dont le nom commence par "G"
            var CommenceParG = ListeAuteurs.Where(a => a.Nom.ToUpper().StartsWith("G")).Select(a => a.Prenom);

            Console.WriteLine("Afficher la liste des prenoms des auteurs dont le nom commence par G :");
            foreach (var prenomG in CommenceParG)
            {
                Console.WriteLine(prenomG);
            }
            Console.WriteLine();

            //   ◦ Afficher l’auteur ayant écrit le plus de livres
            var auteurPlusEcrit = ListeLivres.GroupBy(l => l.Auteur).OrderByDescending(g => g.Count()).FirstOrDefault().Key;

            Console.WriteLine("auteur qui a écrit le plus de livres");
            Console.WriteLine($"{auteurPlusEcrit.Prenom} {auteurPlusEcrit.Nom}");
            Console.WriteLine();

            //   ◦ Afficher le nombre moyen de pages par livre par auteur
            var livresparAuteur = ListeLivres.GroupBy(l => l.Auteur);

            Console.WriteLine("nombre moyen de pages par livre et par auteur");
            foreach (var item in livresparAuteur)
            {
                Console.WriteLine($"{item.Key.Prenom} {item.Key.Nom} a une moyenne des pages de {item.Average(l => l.NbPages)} par livre");
            }
            Console.WriteLine();

            //   ◦ Afficher le titre du livre avec le plus de pages
            var livrePlusPage = ListeLivres.OrderByDescending(l => l.NbPages).First();

            Console.WriteLine("le livre avec le plus de pages");
            Console.WriteLine(livrePlusPage.Titre);
            Console.WriteLine();

            //   ◦ Afficher combien ont gagné les auteurs en moyenne(moyenne des factures)
            var moyenne = ListeAuteurs.Average(a => a.Factures.Sum(f => f.Montant));

            Console.WriteLine("Combien ont gagné les auteurs en moyenne");
            Console.WriteLine(moyenne);
            Console.WriteLine();

            //   ◦ Afficher les auteurs et la liste de leurs livres
            Console.WriteLine("auteurs et leurs livres");

            var auteurEtLivre = ListeLivres.GroupBy(l => l.Auteur);

            foreach (var livres in auteurEtLivre)
            {
                Console.WriteLine($"Auteur : {livres.Key.Prenom} {livres.Key.Nom} ");
                foreach (var livre in livres)
                {
                    Console.WriteLine($" - {livre.Titre}");
                }
            }
            Console.WriteLine();

            //   ◦ Afficher les titres de tous les livres triés par ordre alphabétique
            Console.WriteLine("livres triés par ordre alphabétique");
            ListeLivres.Select(l => l.Titre).OrderBy(t => t).ToList().ForEach(Console.WriteLine);
            Console.WriteLine();

            //   ◦ Afficher la liste des livres dont le nombre de pages est supérieur à la moyenne
            Console.WriteLine("liste des livres dont le nombre de page est supérieur à la moyenne");
            var moyennePages      = ListeLivres.Average(l => l.NbPages);
            var livresPagesSupMoy = ListeLivres.Where(l => l.NbPages > moyennePages);

            foreach (var livre in livresPagesSupMoy)
            {
                Console.WriteLine($" - {livre.Titre}");
            }
            Console.WriteLine();

            //   ◦ Afficher l'auteur ayant écrit le moins de livres
            Console.WriteLine("auteur ayant écrit le moins de livres");
            //   var auteurMoinsDeLivres = ListeLivres.GroupBy(l => l.Auteur).OrderBy(g => g.Count()).FirstOrDefault().Key;

            var auteurMoinsDeLivres = ListeAuteurs.OrderBy(a => ListeLivres.Count(l => l.Auteur == a)).FirstOrDefault();

            Console.WriteLine($"{auteurMoinsDeLivres.Prenom} {auteurMoinsDeLivres.Nom}");
            Console.ReadKey();


            Console.ReadLine();
        }