internal int countCititorBehavior(CITITOR cititor) { int nr_abateri = 0; using (var context = new ModelGeneral()) { foreach (var imp in context.IMPRUMUTs) { if (imp.CITITOR != null && comparCititori(imp.CITITOR, cititor)) {//afisez starea cititorului if (!imp.DataRestituire.HasValue && imp.DataScadenta < DateTime.Now) { nr_abateri++; } else { if (imp.DataScadenta < imp.DataRestituire) { nr_abateri++; } } } } } return(nr_abateri); }
//aceasta metoda se asigura ca cititorul exista in baza de date public bool adaugaCititor(CITITOR cit) { bool ret = a.existCititor(cit); a.adaugaCititor(cit); return(true); }
//aceasta metoda verifica starea cititorului primit ca argument internal bool verfStare(CITITOR cititor) { int nr_abateri = 0; using (var context = new ModelGeneral()) { foreach (var imp in context.IMPRUMUTs) { if (imp.CITITOR != null && comparCititori(imp.CITITOR, cititor)) {//afisez starea cititorului if (!imp.DataRestituire.HasValue && imp.DataScadenta < DateTime.Now) { nr_abateri++; } else { if (imp.DataScadenta < imp.DataRestituire) { nr_abateri++; } } } } } if (nr_abateri > 1) { return(false); } return(true); }
internal void changeStateCititor(CITITOR cititor) { using (var context = new ModelGeneral()) { context.CITITORs.Add(cititor); context.Entry(cititor).State = System.Data.Entity.EntityState.Modified; context.SaveChanges(); } }
//aceasta metoda verifica daca 2 cititori sunt identici internal bool comparCititori(CITITOR c1, CITITOR c2) { if (c1 is null || c2 is null) { return(false); } if (c1.Email.Trim().Equals(c2.Email.Trim())) { return(true); } return(false); }
public CITITOR findCititor(string nume, string prenume) { CITITOR c = new CITITOR(); using (var context = new ModelGeneral()) { foreach (var cititor in context.CITITORs) { if (cititor.Nume.Trim().Equals(nume.Trim()) && cititor.Prenume.Trim().Equals(prenume.Trim())) { return(cititor); } } } return(c); }
//aceasta metoda verifica daca un cititor exista in bd internal bool existCititor(CITITOR cititor) { bool foud = false; using (var context = new ModelGeneral()) { var cititori = context.CITITORs; foreach (var reader in cititori) { if (reader.Email.Trim().Equals(cititor.Email.Trim())) {//afisez starea cititorului foud = true; } } } return(foud); }
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"); } }
//acesta metoda adauga un cititor in baza de date internal void adaugaCititor(CITITOR cit) { if (!existCititor(cit)) { using (var context = new ModelGeneral()) { CITITOR c = new CITITOR() { Adresa = cit.Adresa.Trim(), Email = cit.Email.Trim(), Nume = cit.Nume.Trim(), Prenume = cit.Prenume.Trim() }; context.CITITORs.Add(c); context.SaveChanges(); } } }
internal int getCitirorId(CITITOR cit) { if (existCititor(cit)) { int citID = -1; using (var context = new ModelGeneral()) { foreach (var cititor in context.CITITORs) { if (comparCititori(cit, cititor)) { citID = cititor.CititorId; break; } } } return(citID); } return(-1); }
//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); } }
public bool imprumutaCarte(int c1, CITITOR cit) { return(a.imprumutaCarte(c1, cit)); //sigur va gasi o carte }
//aceasta metoda returneaza starea cititorului public bool verfStare(CITITOR cit) { return(a.verfStare(cit)); }
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); }
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."); } }
public bool existaCititor(CITITOR cit) => a.existCititor(cit);