Пример #1
0
        public ActionResult Auteurs()
        {
            ListeAuteurs listeAuteurs = new ListeAuteurs();

            ViewData["ListeAuteurs"] = listeAuteurs.ObtenirListeAuteur();
            return(View("Auteurs"));
        }
Пример #2
0
        public ActionResult Livre(int id)
        {
            ListeAuteurs   listeAuteurs = new ListeAuteurs();
            List <Auteur>  auteurs      = listeAuteurs.ObtenirListeAuteur();
            ListeLivres    listeLivres  = new ListeLivres();
            List <Livre>   livres       = new ListeLivres().ObtenirListeLivre(auteurs[0], auteurs[1], auteurs[2]);
            List <Client>  Clients      = new Clients().ObtenirListeClients();
            List <Emprunt> Emprunts     = new ListeEmprunts().ObtenirListeEmprunts(Clients[0], Clients[1], livres[0], livres[1], livres[2]);

            foreach (Livre livre in livres)
            {
                if (livre.Id == id)
                {
                    ViewData["LivreTitre"] = livre.Titre;
                    ViewData["LivreDate"]  = livre.Parution;


                    foreach (Emprunt emprunt in Emprunts)
                    {
                        Livre livretrouve = emprunt.ListeLivres.FirstOrDefault(u => u.Id == id);
                        if (livretrouve != null)
                        {
                            ViewData["LivreEmpruntePar"] = emprunt.Client.Nom;
                        }
                    }

                    return(View("Livre"));
                }
            }

            return(View("Error"));
        }
Пример #3
0
        public override void Fill(params object[] references)
        {
            if (references.Length < 1)
            {
                return;
            }
            Guid reference = (Guid)references[0];

            if (reference.Equals(Guid.Empty))
            {
                return;
            }
            using (new WaitingCursor())
                using (IDbCommand cmd = BDDatabase.Database.GetCommand())
                {
                    cmd.CommandText = "SELECT ID_ALBUM, TITREALBUM, MOISPARUTION, ANNEEPARUTION, ID_Serie, TOME, TOMEDEBUT, TOMEFIN, SUJETALBUM, REMARQUESALBUM, HORSSERIE, INTEGRALE, COMPLET "
                                      + "FROM ALBUMS "
                                      + "WHERE ID_Album = ?";
                    cmd.Parameters.Clear();
                    cmd.Parameters.Add(BDDatabase.Database.GetParameter("@ID_album", StringUtils.GuidToString(reference)));
                    using (IDataReader result = cmd.ExecuteReader())
                        using (BaseDataReader <AlbumComplet> dataReader = new BaseDataReader <AlbumComplet>(result))
                            if (result != null && result.Read())
                            {
                                dataReader.LoadData(this);
                                fSerie.Fill(dataReader.GetGuid("ID_Serie"));
                            }

                    ListeAuteurs Auteurs = new ListeAuteurs();
                    StoredProcedures.PS.ProcAuteurs(Auteurs, reference, Guid.Empty, Guid.Empty);
                    this.Scénaristes.Clear();
                    this.Dessinateurs.Clear();
                    this.Coloristes.Clear();
                    foreach (Auteur auteur in Auteurs)
                    {
                        switch (auteur.Metier)
                        {
                        case 0:
                        {
                            this.Scénaristes.Add(auteur);
                            break;
                        }

                        case 1:
                        {
                            this.Dessinateurs.Add(auteur);
                            break;
                        }

                        case 2:
                        {
                            this.Coloristes.Add(auteur);
                            break;
                        }
                        }
                    }

                    this.Editions.Fill(ID_Album);
                }
        }
Пример #4
0
        // GET: Afficher
        public ActionResult Index()
        {
            ListeAuteurs  listeAuteurs = new ListeAuteurs();
            List <Auteur> listea       = listeAuteurs.ObtenirListeAuteur();
            ListeLivres   listeLivres  = new ListeLivres();

            ViewData["ListeLivres"] = listeLivres.ObtenirListeLivre(listea[0], listea[1], listea[2]);



            return(View());
        }
Пример #5
0
        static void Main(string[] args)
        {
            InitialiserDatas();

            var authorWithG = 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 authorWithG)
            {
                Console.WriteLine(prenom);
            }
            Console.WriteLine();

            var greatestAuthor = ListeLivres.GroupBy(l => l.Auteur).OrderByDescending(f => f.Count()).FirstOrDefault().Key;

            Console.WriteLine($"L’auteur ayant écrit le plus de livres est : {greatestAuthor.Prenom} {greatestAuthor.Nom} ");
            Console.WriteLine();

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

            Console.WriteLine("Le nombre moyen de pages par livre par auteur est : ");
            foreach (var book in averagePageByBook)
            {
                Console.WriteLine($" Pour le livre de {book.Key.Prenom} {book.Key.Nom} la moyenne de pages est de {book.Average(b => b.NbPages)}");
            }
            Console.WriteLine();

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

            Console.WriteLine($"Le livre avec le plus de pages est : {mostPageByBook.Titre} ");
            Console.WriteLine();

            var authorReward = ListeAuteurs.Average(f => f.Factures.Sum(g => g.Montant));

            Console.WriteLine($"Les auteurs ont gagné en moyenne pour chacun : {authorReward}");
            Console.WriteLine();

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

            Console.WriteLine("Les auteurs et la liste de leurs livres : ");
            foreach (var books in authorWithListbook)
            {
                Console.WriteLine($" Pour le livre de {books.Key.Prenom} {books.Key.Nom}");
                foreach (var book in books)
                {
                    Console.WriteLine($" {book.Titre}");
                }
            }
            Console.WriteLine();
        }
Пример #6
0
        private List <Auteur> RechercheAuteur(string Search)
        {
            List <Auteur> AuteurTrouve   = new List <Auteur> {
            };
            List <Auteur> AuteursCherche = new ListeAuteurs().ObtenirListeAuteur();

            foreach (Auteur auteur in AuteursCherche)
            {
                if (auteur.nom.ToLower().Contains(Search.ToLower()))
                {
                    AuteurTrouve.Add(auteur);
                }
            }
            return(AuteurTrouve);
        }
Пример #7
0
        private List <Livre> RechercheLivre(string Search)
        {
            List <Livre> LivreTrouve     = new List <Livre> {
            };
            List <Auteur> auteurs        = new ListeAuteurs().ObtenirListeAuteur();
            List <Livre>  LivreRecherche = new ListeLivres().ObtenirListeLivre(auteurs[0], auteurs[1], auteurs[2]);

            foreach (Livre livre in LivreRecherche)
            {
                if (livre.Titre.ToLower().Contains(Search.ToLower()))
                {
                    LivreTrouve.Add(livre);
                }
            }
            return(LivreTrouve);
        }
Пример #8
0
        public override void ProcAuteurs(ListeAuteurs list, Guid ID_Album, Guid ID_Série, Guid ID_ParaBD)
        {
            using (new WaitingCursor())
                using (IDbCommand cmd = BDDatabase.Database.GetCommand())
                {
                    cmd.CommandText = "select id_personne, nompersonne, id_album, id_serie, id_parabd, metier from proc_auteurs(?, ?, ?)";
                    cmd.Parameters.Clear();
                    cmd.Parameters.Add(BDDatabase.Database.GetParameter("@ID_Album", StringUtils.GuidToString(ID_Album)));
                    cmd.Parameters.Add(BDDatabase.Database.GetParameter("@ID_Serie", StringUtils.GuidToString(ID_Série)));
                    cmd.Parameters.Add(BDDatabase.Database.GetParameter("@ID_ParaBD", StringUtils.GuidToString(ID_ParaBD)));

                    using (IDataReader result = cmd.ExecuteReader())
                        using (BaseDataReader <Auteur> dataReader = new BaseDataReader <Auteur>(result))
                            if (result != null)
                            {
                                dataReader.FillList(list);
                            }
                }
        }
Пример #9
0
 private void InitialiserDatas()
 {
     ListeAuteurs.Add(new Auteur("GROUSSARD", "Thierry"));
     ListeAuteurs.Add(new Auteur("GABILLAUD", "Jérôme"));
     ListeAuteurs.Add(new Auteur("HUGON", "Jérôme"));
     ListeAuteurs.Add(new Auteur("ALESSANDRI", "Olivier"));
     ListeAuteurs.Add(new Auteur("de QUAJOUX", "Benoit"));
     ListeLivres.Add(new Livre(1, "C# 4", "Les fondamentaux du langage", ListeAuteurs.ElementAt(0), 533));
     ListeLivres.Add(new Livre(2, "VB.NET", "Les fondamentaux du langage", ListeAuteurs.ElementAt(0), 539));
     ListeLivres.Add(new Livre(3, "SQL Server 2008", "SQL, Transact SQL", ListeAuteurs.ElementAt(1), 311));
     ListeLivres.Add(new Livre(4, "ASP.NET 4.0 et C#", "Sous visual studio 2010", ListeAuteurs.ElementAt(3), 544));
     ListeLivres.Add(new Livre(5, "C# 4", "Développez des applications windows avec visual studio 2010", ListeAuteurs.ElementAt(2), 452));
     ListeLivres.Add(new Livre(6, "Java 7", "les fondamentaux du langage", ListeAuteurs.ElementAt(0), 416));
     ListeLivres.Add(new Livre(7, "SQL et Algèbre relationnelle", "Notions de base", ListeAuteurs.ElementAt(1), 216));
     ListeAuteurs.ElementAt(0).addFacture(new Facture(3500, ListeAuteurs.ElementAt(0)));
     ListeAuteurs.ElementAt(0).addFacture(new Facture(3200, ListeAuteurs.ElementAt(0)));
     ListeAuteurs.ElementAt(1).addFacture(new Facture(4000, ListeAuteurs.ElementAt(1)));
     ListeAuteurs.ElementAt(2).addFacture(new Facture(4200, ListeAuteurs.ElementAt(2)));
     ListeAuteurs.ElementAt(3).addFacture(new Facture(3700, ListeAuteurs.ElementAt(3)));
 }
Пример #10
0
        public ActionResult Auteur(int id)
        {
            ListeAuteurs  listeAuteurs = new ListeAuteurs();
            List <Auteur> auteurs      = listeAuteurs.ObtenirListeAuteur();
            ListeLivres   listeLivres  = new ListeLivres();
            List <Livre>  livres       = new ListeLivres().ObtenirListeLivre(auteurs[0], auteurs[1], auteurs[2]);

            List <Livre> livresAuterId = new List <Livre> {
            };

            foreach (Livre livre in livres)
            {
                if (livre.Auteur.id == id)
                {
                    livresAuterId.Add(livre);
                }
            }

            ViewData["ListeLivreAuterId"] = livresAuterId;

            return(View("Auteur"));
        }
Пример #11
0
        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();
        }
Пример #12
0
        static void Main(string[] args)
        {
            //Initialisation des données
            InitialiserDatas();

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

            Console.WriteLine("Q1 - Afficher la liste des prenoms des auteurs dont le nom commence par \"G\"");

            foreach (var prenom in prenomsStartByG)
            {
                Console.WriteLine(" " + prenom);
            }
            Console.WriteLine();

            //Afficher l’auteur ayant écrit le plus de livres
            var auteur = ListeLivres
                         //Grouper les livres par auteur
                         .GroupBy(livre => livre.Auteur)
                         //Compter les nombre de livre et trier par ordre décroissant
                         .OrderByDescending(livre => livre.Count())
                         //Prendre le premier de la liste (ne fonctionne pas en cas d'égalité)
                         .FirstOrDefault().Key;

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

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

            // Afficher le nombre moyen de page par livre  par auteur
            var listeLivresParAuteur = ListeLivres.GroupBy(livre => livre.Auteur);

            Console.WriteLine("Q3 - Nombre moyen de page par livre par auteur:");
            foreach (var livre in listeLivresParAuteur)
            {
                Console.WriteLine(" " + $"Auteur: {livre.Key.Prenom} {livre.Key.Nom} Nombre de page moyen: {livre.Average(li => li.NbPages)}");
            }
            Console.WriteLine();

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

            Console.WriteLine($"Q4 - Livre avec le plus de page {livrePlusPage.Titre} avec {livrePlusPage.NbPages} pages");
            Console.WriteLine();

            // Afficher combien ont gagné les auteurs en moyenne
            var gainMoyen = ListeAuteurs.Average(aut => aut.Factures.Sum(facture => facture.Montant));

            Console.WriteLine($"Q5 - Gain moyen : {gainMoyen}");
            Console.WriteLine();

            // Afficher les auteurs et la liste de leurs livres
            Console.WriteLine("Q6 - Liste des livres par auteurs:");
            foreach (var livre in listeLivresParAuteur)
            {
                Console.WriteLine();
                Console.WriteLine($"Auteur : {livre.Key.Prenom} {livre.Key.Nom}");
                foreach (var l in livre)
                {
                    Console.WriteLine(" " + l.Titre);
                }
            }
            Console.WriteLine();

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

            Console.WriteLine("Q7 - Liste des livres par odre alphabétique");
            foreach (var livre in ListeLivresAscTitre)
            {
                Console.WriteLine(" " + livre.Titre);
            }
            Console.WriteLine();


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

            Console.WriteLine("Q8 - Affiche les livres dont le nombre de pages est supérieur à la moyenne.");
            foreach (var livre in livresSupMoyenne)
            {
                Console.WriteLine(" " + $"{livre.Titre} {livre.NbPages}");
            }

            Console.WriteLine();

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

            Console.WriteLine($"Q9 - Auteur ayant écrit le moins de livre: {auteurMoinsDeLivres.Prenom} {auteurMoinsDeLivres.Nom}");
            Console.WriteLine();

            Console.ReadKey();
        }
Пример #13
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();
        }
Пример #14
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();
        }
Пример #15
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();
        }
Пример #16
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();
        }
Пример #17
0
        public override void Fill(params object[] references)
        {
            if (references.Length < 1)
            {
                return;
            }
            Guid reference = (Guid)references[0];

            if (reference.Equals(Guid.Empty))
            {
                return;
            }
            if (references.Length > 1)
            {
                this.fID_Auteur = (Guid)references[1];
            }
            else
            {
                this.fID_Auteur = Guid.Empty;
            }
            using (new WaitingCursor())
                using (IDbCommand cmd = BDDatabase.Database.GetCommand())
                {
                    cmd.CommandText = "SELECT ID_SERIE, TITRESERIE, TERMINEE, SUJETSERIE, REMARQUESSERIE, SITEWEB, S.ID_EDITEUR, S.ID_COLLECTION, NOMCOLLECTION "
                                      + "FROM SERIES S LEFT JOIN COLLECTIONS C ON S.ID_COLLECTION = C.ID_COLLECTION "
                                      + "WHERE ID_SERIE = ?";
                    cmd.Parameters.Clear();
                    cmd.Parameters.Add(BDDatabase.Database.GetParameter("@ID_serie", StringUtils.GuidToString(reference)));
                    using (IDataReader result = cmd.ExecuteReader())
                        using (BaseDataReader <SérieComplet> dataReader = new BaseDataReader <SérieComplet>(result))
                            if (result != null && result.Read())
                            {
                                dataReader.LoadData(this);
                                this.fTerminée = dataReader.GetInt(2, -1);
                                this.Editeur.Fill(this.Editeur.Reference);
                            }

                    cmd.CommandText = "SELECT ID_ALBUM, TITREALBUM, INTEGRALE, HORSSERIE, TOME, TOMEDEBUT, TOMEFIN, ID_SERIE "
                                      + "FROM ALBUMS "
                                      + "WHERE ID_SERIE = ? ";
                    if (!this.fID_Auteur.Equals(Guid.Empty))
                    {
                        cmd.CommandText += "AND ID_ALBUM IN (SELECT ID_ALBUM FROM AUTEURS WHERE ID_PERSONNE = ?) ";
                    }
                    cmd.CommandText += "ORDER BY COALESCE(HORSSERIE, -1), COALESCE(INTEGRALE, -1), COALESCE(TOME, -1)";
                    cmd.Parameters.Clear();
                    cmd.Parameters.Add(BDDatabase.Database.GetParameter("@ID_Serie", StringUtils.GuidToString(reference)));
                    if (!this.fID_Auteur.Equals(Guid.Empty))
                    {
                        cmd.Parameters.Add(BDDatabase.Database.GetParameter("@FIdAuteur", StringUtils.GuidToString(this.fID_Auteur)));
                    }

                    using (IDataReader result = cmd.ExecuteReader())
                        using (BaseDataReader <Album> dataReader = new BaseDataReader <Album>(result))
                            if (result != null)
                            {
                                dataReader.FillList(this.Albums);
                            }

                    cmd.CommandText = "SELECT Genre "
                                      + "FROM GenreSeries s INNER JOIN Genres g ON g.ID_Genre = s.ID_Genre "
                                      + "WHERE ID_Serie = ?";
                    cmd.Parameters.Clear();
                    cmd.Parameters.Add(BDDatabase.Database.GetParameter("@ID_Serie", StringUtils.GuidToString(reference)));
                    this.fGenres.Clear();
                    using (IDataReader result = cmd.ExecuteReader())
                        using (BaseDataReader <object> dataReader = new BaseDataReader <object>(result))
                            while (result != null && result.Read())
                            {
                                this.fGenres.Add(dataReader.GetString(0, string.Empty));
                            }

                    ListeAuteurs Auteurs = new ListeAuteurs();
                    StoredProcedures.PS.ProcAuteurs(Auteurs, Guid.Empty, reference, Guid.Empty);
                    this.Scénaristes.Clear();
                    this.Dessinateurs.Clear();
                    this.Coloristes.Clear();
                    foreach (Auteur auteur in Auteurs)
                    {
                        switch (auteur.Metier)
                        {
                        case 0:
                        {
                            this.Scénaristes.Add(auteur);
                            break;
                        }

                        case 1:
                        {
                            this.Dessinateurs.Add(auteur);
                            break;
                        }

                        case 2:
                        {
                            this.Coloristes.Add(auteur);
                            break;
                        }
                        }
                    }
                }
        }
Пример #18
0
        public static void Main(string[] args)
        {
            InitialiserDatas();

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

            Console.WriteLine("Liste des prénoms des auteurs dont le nom commence par G");
            foreach (var prenom in query1)
            {
                Console.WriteLine(prenom);
            }
            Console.WriteLine();
            var query2 = ListeLivres.GroupBy(l => l.Auteur).OrderByDescending(l => l.Count()).FirstOrDefault().Key;

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

            Console.WriteLine();
            var query3 = ListeLivres.GroupBy(l => l.Auteur);

            foreach (var author in query3)
            {
                Console.WriteLine($"Le nombre moyen de page par livre de l'auteur {author.Key.Prenom} {author.Key.Nom} est de {author.Average(l=>l.NbPages)}");
            }

            Console.WriteLine();
            var query4 = ListeLivres.OrderByDescending(l => l.NbPages).FirstOrDefault();

            Console.WriteLine($"Le Livre qui contient le plus de page est {query4.Titre} ");
            Console.WriteLine();

            var query5 = ListeAuteurs.Average(s => s.Factures.Sum(f => f.Montant));

            Console.WriteLine($"Les auteurs ont gagné en moyenne {query5}");


            Console.WriteLine();

            Console.WriteLine();
            var query6 = ListeLivres.GroupBy(l => l.Auteur);

            Console.WriteLine("Liste des auteurs et de leurs livres");
            foreach (var livres in query6)
            {
                Console.WriteLine($"Auteur : {livres.Key.Prenom} {livres.Key.Nom}");
                foreach (var livre in livres)
                {
                    Console.WriteLine($"{livre.Titre}");
                }
            }
            Console.WriteLine();
            var query7 = ListeLivres.OrderBy(l => l.Titre);

            Console.WriteLine("Titres des livres triés par ordre alphabétique :");
            foreach (var livre in query7)
            {
                Console.WriteLine($"{livre.Titre}");
            }
            Console.WriteLine();
            var query9 = ListeLivres.GroupBy(l => l.Auteur).OrderByDescending(l => l.Count()).LastOrDefault().Key;

            Console.WriteLine($"L'auteur qui a écrit le moins de livre est :{query9.Prenom} {query9.Nom}");

            Console.ReadKey();
        }
Пример #19
0
        public static void Main(string[] args)
        {
            InitialiserDatas();

            //Afficher liste des prenoms des auteurs dont le nom commencant par G
            var prenoms = ListeAuteurs.Where(x => x.Nom.StartsWith("G")).Select(x => x.Prenom);

            Console.WriteLine("Afficher liste des prenoms des auteurs dont le nom commençant par G");
            foreach (var prenom in prenoms)
            {
                Console.WriteLine(prenom);
            }
            Console.WriteLine();

            //Auteur qui a écrit le plus de livres
            var auteurBcpLivres = ListeLivres.GroupBy(x => x.Auteur).OrderByDescending(x => x.Count()).FirstOrDefault().Key;

            Console.WriteLine("Auteur qui a ecrit le plus de livres");
            Console.WriteLine($"{auteurBcpLivres.Prenom} {auteurBcpLivres.Nom}");
            Console.WriteLine();

            //Nombre moyen de pages par livres par auteur
            var livresParAuteur = ListeLivres.GroupBy(x => x.Auteur);

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

            //Titre du livre avec le plus de pages
            var maxPage = ListeLivres.OrderByDescending(x => x.NbPages).First();

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

            //Combien ont gagné les auteurs en moyenne
            var moyenne = ListeAuteurs.Where(x => x.Factures.Count > 0).Average(x => x.Factures.Average(y => y.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("Afficher les auteurs et la liste de leurs livres");
            var livresParAuteur2 = ListeLivres.GroupBy(x => x.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.ReadKey();
        }
Пример #20
0
        static void Main(string[] args)
        {
            InitialiserDatas();

            Console.WriteLine("Liste des prénoms des auteurs dont le nom commence par G");
            var auteurs = ListeAuteurs.Where(a => a.Nom.StartsWith("G"));

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

            Console.WriteLine("\nAuteur ayant écrit le plus de livres");
            var auteurProlifique = ListeLivres.GroupBy(livre => livre.Auteur).OrderByDescending(comptage => comptage.Count()).FirstOrDefault();

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

            Console.WriteLine("\nNombre moyen de pages par livre par auteur");
            var auteurPage = ListeLivres.GroupBy(livre => livre.Auteur);

            foreach (var auteur in auteurPage)
            {
                Console.WriteLine($"{auteur.Key.Prenom} {auteur.Key.Nom} : {auteur.Average(n=>n.NbPages)}");
            }

            Console.WriteLine("\nTitre du livre avec le plus de pages");
            var titre = ListeLivres.OrderByDescending(nbrePage => nbrePage.NbPages).FirstOrDefault();

            Console.WriteLine($"{titre.Titre}");

            Console.WriteLine("\nCombien ont gagné les auteurs en moyenne");
            var salaire = ListeAuteurs.Average(moyenne => moyenne.Factures.Sum(facture => facture.Montant));

            Console.WriteLine($"{salaire}");

            Console.WriteLine("\nles auteurs et la liste de leurs livres");
            var livres = ListeLivres.GroupBy(livre => livre.Auteur);

            foreach (var livre in livres)
            {
                Console.WriteLine($"{livre.Key.Nom} {livre.Key.Prenom} ");
                foreach (var livre2 in livre)
                {
                    Console.WriteLine($"{livre2.Titre}");
                }
            }

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

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

            Console.WriteLine("\nListe des livres dont le nombre de pages est supérieur à la moyenne");
            var moyenneNbrePages = ListeLivres.Average(nbrePages => nbrePages.NbPages);
            var listelivresNbrePagesSupMoyenne = ListeLivres.Where(livre => livre.NbPages > moyenneNbrePages);

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

            Console.WriteLine("\nAuteur ayant écrit le moins de livres");
            var auteurMoinsProlifique = ListeLivres.GroupBy(livre => livre.Auteur).OrderBy(comptage => comptage.Count()).FirstOrDefault();

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

            Console.ReadKey();
        }
Пример #21
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();
        }
Пример #22
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();
        }
Пример #23
0
        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();
        }
Пример #24
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();
        }