示例#1
0
 internal bool comparImprumuts(IMPRUMUT imp1, IMPRUMUT imp2)
 {
     if (imp1 is null || imp2 is null)
     {
         return(false);
     }
     if (comparCarti(imp1.CARTE, imp2.CARTE) && comparCititori(imp2.CITITOR, imp1.CITITOR))
     {
         return(true);
     }
     return(false);
 }
示例#2
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");
            }
        }
示例#3
0
        internal bool existImprumut(IMPRUMUT imp)
        {
            bool foud = false;

            using (var context = new ModelGeneral())
            {
                foreach (var imprumut in context.IMPRUMUTs)
                {
                    if (comparImprumuts(imp, imprumut) && !imprumut.DataScadenta.HasValue)
                    {
                        Console.WriteLine(imp.CARTE.Titlu.Trim());
                        Console.WriteLine(imprumut.DataScadenta.HasValue);
                        Console.WriteLine(imprumut.ImprumutId);
                        foud = true;
                        break;
                    }
                }
            }
            return(foud);
        }
示例#4
0
        //aceasta metoda returneaza tru daca s-a putut face imprumutul si il realizeaza , false c.c.
        internal bool imprumutaCarte(int carteID, CITITOR cit)
        {
            if (verfDisponibilitateCarte(carteID))
            {
                CARTE c = new CARTE();
                using (var context = new ModelGeneral())
                {
                    foreach (var carte in context.CARTEs)
                    {
                        if (carte.CarteId == carteID)
                        {
                            c = carte;
                            break;
                        }
                    }

                    cit.CititorId = getCitirorId(cit);

                    IMPRUMUT imp = new IMPRUMUT()
                    {
                        CARTE          = c,
                        DataImprumut   = DateTime.Now,
                        DataRestituire = DateTime.Now.AddDays(14),
                        CITITOR        = cit
                    };
                    Console.WriteLine(cit.Email);
                    context.IMPRUMUTs.Add(imp);
                    context.SaveChanges();
                }
                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#5
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);
        }
示例#6
0
 public bool existaImprumut(IMPRUMUT imp) => a.existImprumut(imp);