예제 #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();
        }
예제 #2
0
        static void Main(string[] args)
        {
            InitialiserDatas();

            Console.WriteLine("Afficher la liste des prénoms des auteurs dont le nom commence par 'G'");
            var listeAuteursG = ListeAuteurs.Where(a => a.Nom.Substring(0, 1).ToLower().Equals("g"));

            foreach (var auteur in listeAuteursG)
            {
                Console.WriteLine($"{auteur.Prenom}");
            }


            Console.WriteLine("\nAfficher l'auteur ayant écrit le plus de livres");
            var auteurPlusPresent = ListeAuteurs.OrderBy(a => ListeLivres.OrderBy(l => l.Auteur == a).Count()).First();

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


            Console.WriteLine("\nAfficher le nombre moyen de pages par livre par auteur");
            var listeAuteurs = ListeAuteurs.OrderBy(a => a.Nom);

            foreach (var auteur in listeAuteurs)
            {
                var livresParAuteur = ListeLivres.Where(l => l.Auteur.Equals(auteur));
                if (livresParAuteur.Count() != 0)
                {
                    double moyennePages = livresParAuteur.Average(l => l.NbPages);
                    Console.WriteLine($"{auteur.Nom} {auteur.Prenom} {moyennePages}");
                }
            }


            Console.WriteLine("\nAfficher le titre du livre avec le plus de pages");
            var livrePlusLong = ListeLivres.OrderByDescending(l => l.NbPages).First();

            Console.WriteLine($"{livrePlusLong.Titre} {livrePlusLong.Synopsis}");


            Console.WriteLine("\nAfficher combien ont gagné les auteurs en moyenne (moyenne des factures)");
            var listedesFactures = ListeAuteurs.Average(a => a.Factures.Sum(f => f.Montant));

            Console.WriteLine(listedesFactures.ToString());


            Console.WriteLine("\nAfficher les auteurs et la liste de leurs livres");
            foreach (var auteur in listeAuteurs)
            {
                Console.WriteLine($"{auteur.Nom} {auteur.Prenom} : ");

                var listeLivres = ListeLivres.Where(l => l.Auteur.Nom == auteur.Nom);
                foreach (var livre in listeLivres)
                {
                    Console.WriteLine($" - {livre.Titre} {livre.Synopsis}");
                }
            }


            Console.WriteLine("\nAfficher les titres de tous les livres triés par ordre alphabétique");
            var listeLivresAlpha = ListeLivres.OrderBy(l => l.Titre);

            foreach (var livre in listeLivresAlpha)
            {
                Console.WriteLine($"{livre.Titre} {livre.Synopsis}");
            }


            Console.WriteLine("\nAfficher la liste des livres dont le nombre de pages est supérieur à la moyenne");
            var tailleMoyennedesLivres = ListeLivres.Average(l => l.NbPages);

            foreach (var auteur in listeAuteurs)
            {
                var moyennePage = ListeLivres.Where(l => l.Auteur.Nom == auteur.Nom);
                foreach (var livre in moyennePage)
                {
                    if (livre.NbPages > tailleMoyennedesLivres)
                    {
                        Console.WriteLine($"{livre.Titre} {livre.Synopsis}");
                    }
                }
            }


            Console.WriteLine("\nAfficher l'auteur ayant écrit le moins de livres");
            var auteurMoinsPresent = ListeAuteurs.OrderBy(a => ListeLivres.OrderBy(l => l.Auteur == a).Count()).Last();

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


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

            //Affichage de la liste des prénoms des auteurs donc le nom commence par "G"
            var           prenomsAuteursParG = ListeAuteurs.Where(a => a.Nom.ToUpper().StartsWith("G")).Select(a => a.Prenom);
            StringBuilder affichageAuteur    = new StringBuilder();

            affichageAuteur.Append("Affichage des prénoms des auteurs dont le nom commence par G :");
            affichageAuteur.Append("\n");
            foreach (var prenom in prenomsAuteursParG)
            {
                affichageAuteur.Append("- ");
                affichageAuteur.Append(prenom);
                affichageAuteur.Append("\n");
            }
            Console.WriteLine(affichageAuteur.ToString());

            //Afficher l'auteur ayant écrit le plus de livres
            var           auteurAvecLePlusDeLivresEcrits          = ListeLivres.GroupBy(l => l.Auteur).OrderByDescending(t => t.Count()).FirstOrDefault().Key;
            StringBuilder affichageAuteurAvecLePlusDeLivresEcrits = new StringBuilder();

            affichageAuteurAvecLePlusDeLivresEcrits.Append("Affichage de l'auteur ayant écrit le plus de livres :");
            affichageAuteurAvecLePlusDeLivresEcrits.Append("\n");
            affichageAuteurAvecLePlusDeLivresEcrits.Append($"- {auteurAvecLePlusDeLivresEcrits.Nom} {auteurAvecLePlusDeLivresEcrits.Prenom}");
            affichageAuteurAvecLePlusDeLivresEcrits.Append("\n");
            Console.WriteLine(affichageAuteurAvecLePlusDeLivresEcrits.ToString());

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

            affichageNbPagesMoyensParLivreParAuteur.Append("Affichage du nombre moyen de pages par livre par auteur :");
            affichageNbPagesMoyensParLivreParAuteur.Append("\n");
            foreach (var item in nbPagesMoyenParLivreParAuteur)
            {
                affichageNbPagesMoyensParLivreParAuteur.Append($"- {item.Key.Prenom} {item.Key.Nom} nb moyen de pages={item.Average(l => l.NbPages)}");
                affichageNbPagesMoyensParLivreParAuteur.Append("\n");
            }
            Console.WriteLine(affichageNbPagesMoyensParLivreParAuteur.ToString());

            //Afficher le titre du livre avec le plus de pages
            var           titreLivreAvecLePlusDePages          = ListeLivres.OrderByDescending(l => l.NbPages).First();
            StringBuilder affichageTitreLivreAvecLePlusDePages = new StringBuilder();

            affichageTitreLivreAvecLePlusDePages.Append("Affichage du titre du livre ayant le plus de pages :");
            affichageTitreLivreAvecLePlusDePages.Append("\n");
            affichageTitreLivreAvecLePlusDePages.Append($"- {titreLivreAvecLePlusDePages.Titre}");
            affichageTitreLivreAvecLePlusDePages.Append("\n");
            Console.WriteLine(affichageTitreLivreAvecLePlusDePages.ToString());

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

            affichageMoyenneGainAuteurs.Append("Affichage de la moyenne des gains des auteurs :");
            affichageMoyenneGainAuteurs.Append("\n");
            affichageMoyenneGainAuteurs.Append("- " + moyenneGainAuteurs);
            affichageMoyenneGainAuteurs.Append("\n");
            Console.WriteLine(affichageMoyenneGainAuteurs.ToString());

            //Afficher les auteurs et la liste de leurs livres
            var           livresparAuteurs = ListeLivres.GroupBy(l => l.Auteur);
            StringBuilder affichageAuteursEtListeLivres = new StringBuilder();

            affichageAuteursEtListeLivres.Append("Affichage des auteurs et la liste de leurs livres :");
            affichageAuteursEtListeLivres.Append("\n");
            foreach (var livres in livresparAuteurs)
            {
                affichageAuteursEtListeLivres.Append($"- Auteur : {livres.Key.Prenom} {livres.Key.Nom} ");
                affichageAuteursEtListeLivres.Append("\n");

                foreach (var livre in livres)
                {
                    affichageAuteursEtListeLivres.Append($" - {livre.Titre}");
                    affichageAuteursEtListeLivres.Append("\n");
                }
                affichageAuteursEtListeLivres.Append("\n");
            }
            affichageAuteursEtListeLivres.Append("\n");
            Console.WriteLine(affichageAuteursEtListeLivres.ToString());

            //Afficher les titres de tous les livres triés par ordre alphabétique
            var           livresTriesAlphabetique            = ListeLivres.OrderBy(t => t.Titre).ToList();
            StringBuilder affichageLivreParOrdreAlphabétique = new StringBuilder();

            affichageLivreParOrdreAlphabétique.Append("Affichage des titres de tous les livres triés par ordre alphabétique :");
            affichageLivreParOrdreAlphabétique.Append("\n");
            foreach (var livreTrie in livresTriesAlphabetique)
            {
                affichageLivreParOrdreAlphabétique.Append($"- {livreTrie.Titre}");
                affichageLivreParOrdreAlphabétique.Append("\n");
            }
            affichageLivreParOrdreAlphabétique.Append("\n");
            Console.WriteLine(affichageLivreParOrdreAlphabétique.ToString());

            //Afficher la liste des livres dont le nombre de pages est supérieur à la moyenne
            StringBuilder affichageListeLivre = new StringBuilder();

            affichageListeLivre.Append("Affichage de la liste des livres dont le nombre de page est supérieur à la moyenne :");
            affichageListeLivre.Append("\n");
            var moyennePages = ListeLivres.Average(l => l.NbPages);
            var livresPagesSuperieuresMoyenne = ListeLivres.Where(l => l.NbPages > moyennePages);

            foreach (var livre in livresPagesSuperieuresMoyenne)
            {
                affichageListeLivre.Append($"- {livre.Titre}");
                affichageListeLivre.Append("\n");
            }
            affichageListeLivre.Append("\n");
            Console.WriteLine(affichageListeLivre.ToString());

            //Afficher l'auteur ayant écrit le moins de livres
            var           auteurMoinsDeLivres = ListeAuteurs.OrderBy(a => ListeLivres.Count(l => l.Auteur == a)).FirstOrDefault();
            StringBuilder affichageAuteurAvecLeMoinsDeLivresEcrits = new StringBuilder();

            affichageAuteurAvecLeMoinsDeLivresEcrits.Append("Affichage de l'auteur ayant écrit le moins de livres :");
            affichageAuteurAvecLeMoinsDeLivresEcrits.Append("\n");
            affichageAuteurAvecLeMoinsDeLivresEcrits.Append($"{auteurMoinsDeLivres.Prenom} {auteurMoinsDeLivres.Nom}");
            Console.WriteLine(affichageAuteurAvecLeMoinsDeLivresEcrits.ToString());

            Console.ReadKey();
        }
예제 #4
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();
        }
예제 #5
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();
        }