Beispiel #1
0
        //aceasta metoda primeste un gen si returneaza o colectie de carti de genul primit ca argument
        internal ICollection <CARTE> getCartiDeGen(GEN g)
        {
            ICollection <CARTE> list = new List <CARTE>();

            using (var context = new ModelGeneral())
            {
                foreach (var carte in context.CARTEs)
                {
                    if (comparGen(carte.GEN, g))
                    {
                        CARTE c = new CARTE()
                        {
                            AUTOR    = carte.AUTOR,
                            GEN      = carte.GEN,
                            Titlu    = carte.Titlu,
                            CarteId  = carte.CarteId,
                            AutorId  = carte.CarteId,
                            GenId    = carte.GenId,
                            IMPRUMUT = carte.IMPRUMUT
                        };
                        list.Add(c);
                    }
                }
            }
            return(list);
        }
Beispiel #2
0
        //aceasta metoda returneaza un ArrayList cu cartile care au genul primit ca argument
        internal ICollection <CARTE> getBooks(GEN gen)
        {
            ICollection <CARTE> books = new List <CARTE>();

            using (var context = new ModelGeneral())
            {
                var CARTI = context.CARTEs;
                foreach (var carte in CARTI)
                {
                    if (comparGen(carte.GEN, gen))
                    {
                        CARTE c = new CARTE()
                        {
                            AUTOR    = carte.AUTOR,
                            GEN      = carte.GEN,
                            Titlu    = carte.Titlu,
                            CarteId  = carte.CarteId,
                            AutorId  = carte.CarteId,
                            GenId    = carte.GenId,
                            IMPRUMUT = carte.IMPRUMUT
                        };
                        books.Add(c);
                    }
                }
            }
            return(books);
        }
Beispiel #3
0
        public static void statistica()
        {
            Statistica s = new Statistica();
            menager    m = new menager();

            GEN g1 = m.getGEN("SF");

            AUTOR a1 = m.getAutor(nume: "Andrei", prenume: "Plesu");

            CARTE c1 = m.getCarte(titlu: "Caderea mortii", autor: a1, gen: g1);

            // prima metoda implementata
            DateTime d2 = DateTime.Now;
            DateTime d1 = DateTime.Now.AddDays(-10);
            ICollection <CITITOR> list = s.ReaderBetweenDates(d1, d2);

            Console.WriteLine(list.Count);
            foreach (var cititor in list)
            {
                Console.WriteLine("Nume: {0}, Prenume: {1}", cititor.Nume, cititor.Prenume);
            }

            //a doua metoda implementata

            /* List<CARTE> lista_carti = s.MostWantedBooks();
             * Console.WriteLine(lista_carti.Count);
             * foreach (var carte in lista_carti)
             * {
             *   Console.WriteLine("Nume: {0}, Autor: {1} {2}", carte.Titlu.Trim(), carte.AUTOR.Nume.Trim(), carte.AUTOR.Prenume.Trim());
             * }
             */
            //a 3-a metoda implementata
            List <AUTOR> lista_autori = s.getMostFaimousAutors();

            Console.WriteLine(lista_autori.Count);
            foreach (var autor in lista_autori)
            {
                Console.WriteLine("Nume: {0}, Prenume:{1}", autor.Nume.Trim(), autor.Prenume.Trim());
            }

            //a 4-a metoda implementata
            List <GEN> lista_genuri = s.getMostComuneGens();

            Console.WriteLine(lista_genuri.Count);
            foreach (var g in lista_genuri)
            {
                Console.WriteLine("Descriere: {0}", g.Descriere.Trim());
            }

            //a 5-a metoda implementata
            List <REVIEW> lista_rev = s.getReviews(c1);

            Console.WriteLine(lista_rev.Count);
            foreach (var rev in lista_rev)
            {
                Console.WriteLine("Cartea: {0} a primit urm. review: {1}", c1.Titlu.Trim(), rev.Text.Trim());
            }
        }
Beispiel #4
0
        public GEN getGEN(string descriere)
        {
            GEN g1 = new GEN()
            {
                Descriere = descriere
            };

            return(g1);
        }
Beispiel #5
0
        public CARTE getCarte(string titlu, AUTOR autor, GEN gen)
        {
            CARTE c1 = new CARTE()
            {
                Titlu = titlu,
                AUTOR = autor,
                GEN   = gen
            };

            return(c1);
        }
Beispiel #6
0
 //aceasta metoda verifica da 2 genuri sunt identice
 internal bool comparGen(GEN g1, GEN g2)
 {
     if (g1 is null)
     {
         return(false);
     }
     if (g1.Descriere.Trim().Equals(g2.Descriere.Trim()))
     {
         return(true);
     }
     return(false);
 }
Beispiel #7
0
 //aceasta metoda adauga un gen in bd daca este cazul
 internal void adaugaGen(GEN g)
 {
     if (!existGen(g))
     {
         using (var context = new ModelGeneral())
         {
             GEN gen = new GEN()
             {
                 Descriere = g.Descriere.Trim()
             };
             context.GENs.Add(gen);
             context.SaveChanges();
         }
     }
 }
Beispiel #8
0
        internal CARTE GetCarte(int id)
        {
            CARTE c = new CARTE();

            using (var context = new ModelGeneral())
            {
                foreach (var carte in context.CARTEs)
                {
                    if (carte.CarteId == id)
                    {
                        GEN g = new GEN()
                        {
                            Descriere = carte.GEN.Descriere,
                            GenId     = carte.GEN.GenId
                        };

                        AUTOR a = new AUTOR()
                        {
                            AutorId = carte.AutorId.Value,
                            Nume    = carte.AUTOR.Nume,
                            Prenume = carte.AUTOR.Prenume
                        };

                        foreach (var cart in carte.AUTOR.CARTE)
                        {
                            CARTE crt = new CARTE()
                            {
                                Titlu   = carte.Titlu,
                                GenId   = carte.GenId,
                                AutorId = a.AutorId,
                                AUTOR   = a
                            };
                            a.CARTE.Add(cart);
                        }


                        c.Titlu   = carte.Titlu;
                        c.GenId   = carte.GenId;
                        c.AutorId = a.AutorId;
                        c.GEN     = g;
                        c.AUTOR   = a;
                        c.CarteId = carte.CarteId;
                    }
                }
            }
            return(c);
        }
Beispiel #9
0
        internal bool searchBook(GEN g, AUTOR a, String Titlu)
        {
            bool foud = false;

            using (var context = new ModelGeneral())
            {
                foreach (var carte in context.CARTEs)
                {
                    if ((comparAutori(carte.AUTOR, a) && comparGen(g, carte.GEN)) && carte.Titlu.Trim().Equals(Titlu.Trim()))
                    {
                        foud = true;
                        break;
                    }
                }
            }
            return(foud);
        }
Beispiel #10
0
        //aceasta metoda verifica daca genul primit ca parametru exista in baza de date
        internal bool existGen(GEN gen)
        {
            bool foud = false;

            using (var context = new ModelGeneral())
            {
                var items = context.GENs;
                foreach (var g in items)
                {
                    if (g.Descriere.Trim().Equals(gen.Descriere.Trim()))
                    {
                        foud = true;
                    }
                }
            }
            return(foud);
        }
Beispiel #11
0
        internal int getBookId(GEN g, AUTOR a, String Titlu)
        {
            int id = -1;

            using (var context = new ModelGeneral())
            {
                foreach (var carte in context.CARTEs)
                {
                    if ((comparAutori(carte.AUTOR, a) && comparGen(g, carte.GEN)) && carte.Titlu.Trim().Equals(Titlu.Trim()))
                    {
                        id = carte.CarteId;
                        break;
                    }
                }
            }
            return(id);
        }
Beispiel #12
0
        public static void cumpara()
        {
            menager m = new menager();

            GEN g1 = m.getGEN("SF");

            AUTOR a1 = m.getAutor(nume: "Aston", prenume: "Martin");

            CARTE c1 = m.getCarte(titlu: "Intredeschise ganduri.", autor: a1, gen: g1);

            int nr_carti = 1;
            /*---------------------------------------------------------*/
            //metoda 1 exemplu de folosire
            AchizitionareCarti ac = new AchizitionareCarti();

            ac.achizitioneazaCarte(c1, nr_carti);
        }
Beispiel #13
0
        public static void restituie()
        {
            menager m  = new menager();
            GEN     g1 = m.getGEN("SF");

            AUTOR a1 = m.getAutor(nume: "Aston", prenume: "Martin");

            CARTE c1 = m.getCarte(titlu: "Intredeschise ganduri.", autor: a1, gen: g1);

            Restituire r = new Restituire();

            CITITOR cititor1 = m.getCititor(nume: "Manolache123", prenume: "Irinel", adresa: "Iasi,Iasi,Str. Codrescu nr.13,cammin C12", email: "*****@*****.**");

            IMPRUMUT imp = new IMPRUMUT()
            {
                CARTE   = c1,
                CITITOR = cititor1
            };

            if (r.existaCarte(c1))
            {
                Console.WriteLine("Cartea exista in biblioteca");
                if (r.existaCititor(cititor1))
                {
                    Console.WriteLine("Cititorul este in baza noastra de date");
                    if (r.existaImprumut(imp))
                    {
                        Console.WriteLine("Imprumutul este in baza de date");
                        r.restituieCartea(1, "O carte foarte buna");
                    }
                    else
                    {
                        Console.WriteLine("Imprumutul nu este in baza de date");
                    }
                }
                else
                {
                    Console.WriteLine("Cititorul nu este in baza noastra de date");
                }
            }
            else
            {
                Console.WriteLine("Cartea nu exista in biblioteca");
            }
        }
Beispiel #14
0
        private GEN getGen(GEN gen)
        {
            GEN g1 = new GEN();

            using (var context = new ModelGeneral())
            {
                foreach (var g in context.GENs)
                {
                    if (comparGen(g, gen))
                    {
                        g1.CARTE     = g.CARTE;
                        g1.Descriere = g.Descriere;
                        g1.GenId     = g.GenId;
                        break;
                    }
                }
            }

            return(g1);
        }
Beispiel #15
0
 public ICollection <CARTE> getAcelasiGen(GEN g)
 {
     return(a.getCartiDeGen(g));
 }
Beispiel #16
0
        public static void  imprumuta()
        {
            menager m = new menager();

            GEN g1 = m.getGEN("SF");

            AUTOR a1 = m.getAutor(nume: "Aston", prenume: "Martin");

            CARTE c1 = m.getCarte(titlu: "Intredeschise ganduri.", autor: a1, gen: g1);

            //metoda 2 expemul de folosire
            ImprumutaCarte ic       = new ImprumutaCarte();
            CITITOR        cititor1 = m.getCititor(nume: "Manolache123", prenume: "Irinel", adresa: "Iasi,Iasi,Str. Codrescu nr.13,cammin C12", email: "*****@*****.**");

            //ic.imprumutaCarte(cititor1, gen: "SF", carte_titlu:c1.Titlu, nume_a:a1.Nume,prenume_a:a1.Prenume);
            if (ic.adaugaCititor(cititor1))
            {
                Console.WriteLine("Cititor existent!");
            }
            else
            {
                Console.WriteLine("Cititor inexistent!");
            }
            Console.WriteLine(ic.verfStare(cititor1));
            if (ic.verfStare(cititor1))
            {
                Console.WriteLine("Cititorul este de buna credinta");
            }
            else
            {
                Console.WriteLine("Cititorul nu este de buna credinta");
            }
            Console.WriteLine(ic.existaCarte(c1));
            if (ic.existaCarte(c1))
            {
                Console.WriteLine("O lista cu cartile care au acelasi gen cu cartea cautata este:");
                ICollection <CARTE> list = ic.getAcelasiGen(c1.GEN);
                foreach (var carte in list)
                {
                    Console.WriteLine("Titlu:{0}", carte.Titlu.Trim());
                }

                String titlu = c1.Titlu;
                if (ic.searchBook(g1, titlu))
                {
                    int carteID = ic.getBookId(g1, titlu);
                    Console.WriteLine("Cartea a fost gasita dupa titlu");
                    if (ic.imprumutaCarte(c1.CarteId, cititor1))
                    {
                        Console.WriteLine("Cartea a fost imprumutata cu succes");
                    }
                    else
                    {
                        Console.WriteLine("Cartea va fi disponibila la data: {0}", ic.searchDataScadenta(c1));
                    }
                }
                else if (ic.searchBook(g1, a1))
                {
                    int carteID = ic.getBookId(g1, a1);
                    Console.WriteLine("Cartea a fost gasita dupa autor");
                }
                else if (ic.searchBook(g1, a1, titlu))
                {
                    int carteID = ic.getBookId(g1, a1, titlu);
                    Console.WriteLine("Cartea a fost gasita dupa titlu si autor");
                }
            }
            else
            {
                Console.WriteLine("Cartea nu exista in bilioteca.");
            }
        }
Beispiel #17
0
 public int getBookId(GEN g, AUTOR a1, String Titlu) => a.getBookId(g, a1, Titlu);
Beispiel #18
0
 public int getBookId(GEN g, AUTOR a1) => a.getBookId(g, a1);
Beispiel #19
0
 public int getBookId(GEN g, String Titlu) => a.getBookId(g, Titlu);
Beispiel #20
0
 public bool searchBook(GEN g, AUTOR a1, String Titlu) => a.searchBook(g, a1, Titlu);
Beispiel #21
0
 public bool searchBook(GEN g, AUTOR a1) => a.searchBook(g, a1);
Beispiel #22
0
 public bool searchBook(GEN g, String Titlu) => a.searchBook(g, Titlu);
Beispiel #23
0
        internal List <IMPRUMUT> getAllImprumutsAlive()
        {
            List <IMPRUMUT> list = new List <IMPRUMUT>();

            using (var context = new ModelGeneral())
            {
                foreach (IMPRUMUT impt in context.IMPRUMUTs)
                {
                    if (impt.DataScadenta.HasValue == false)
                    {
                        GEN g = new GEN()
                        {
                            Descriere = impt.CARTE.GEN.Descriere,
                            GenId     = impt.CARTE.GEN.GenId
                        };

                        AUTOR a = new AUTOR()
                        {
                            AutorId = impt.CARTE.AutorId.Value,
                            Nume    = impt.CARTE.AUTOR.Nume,
                            Prenume = impt.CARTE.AUTOR.Prenume
                        };

                        foreach (var carte in impt.CARTE.AUTOR.CARTE)
                        {
                            CARTE crt = new CARTE()
                            {
                                Titlu   = impt.CARTE.Titlu,
                                GenId   = impt.CARTE.GenId,
                                AutorId = a.AutorId,
                                AUTOR   = a
                            };
                            a.CARTE.Add(carte);
                        }

                        CARTE c = new CARTE()
                        {
                            Titlu   = impt.CARTE.Titlu,
                            GenId   = impt.CARTE.GenId,
                            AutorId = a.AutorId,
                            GEN     = g,
                            AUTOR   = a,
                            CarteId = impt.CARTE.CarteId
                        };
                        c.CarteId = c.CarteId;

                        CITITOR cit = new CITITOR()
                        {
                            Nume      = impt.CITITOR.Nume,
                            Prenume   = impt.CITITOR.Prenume,
                            Adresa    = impt.CITITOR.Adresa,
                            CititorId = impt.CITITOR.CititorId,
                            Email     = impt.CITITOR.Email,
                            Stare     = impt.CITITOR.Stare
                        };

                        ICollection <REVIEW> reviews = new List <REVIEW>();
                        foreach (var r in impt.REVIEW)
                        {
                            REVIEW rev = new REVIEW()
                            {
                                Text       = r.Text,
                                ImprumutId = r.ImprumutId,
                                ReviewId   = r.ReviewId
                            };
                            reviews.Add(r);
                        }


                        IMPRUMUT i = new IMPRUMUT()
                        {
                            CARTE          = c,
                            CarteId        = impt.CarteId,
                            CITITOR        = cit,
                            CititorId      = impt.CititorId,
                            DataImprumut   = impt.DataImprumut,
                            DataRestituire = impt.DataRestituire,
                            DataScadenta   = impt.DataScadenta,
                            ImprumutId     = impt.ImprumutId,
                            REVIEW         = reviews
                        };

                        list.Add(i);
                    }
                }
            }
            return(list);
        }