Ejemplo n.º 1
0
        public void AddZdarzenieWypozyczenieTest()
        {
            DataRepository repozytorium = new DataRepository(wypelnia);

            {
                repozytorium.DataContex = dataConstexx;
            };
            Egzemplarz egz = new Ksiazka(111, "c# 6.0 Leksykon ieszonkowy", Rodzaj.popularno_naukowy, 200, "Joseph", "Albahari", "978-83-283-2446-6");

            Uzytkownik uz = new Uzytkownik()
            {
                Adres    = "Abramowskiego 1/7",
                Imie     = "Adam",
                Nazwisko = "Andrzejczyk",
                Pesel    = 1234,
            };

            ZdarzeniePozyczenia zd = new ZdarzeniePozyczenia
            {
                Co              = egz,
                Kto             = uz,
                KiedyWypozyczyl = new DateTime(2018, 3, 1, 9, 0, 0), //01/03/2008 07:00:00
            };

            Assert.AreEqual(repozytorium.SizeOfZdarzenia(), 0);
            repozytorium.AddZdarzenie(zd);
            Assert.ReferenceEquals(zd, repozytorium.GetZdarzenie(0));
            Assert.AreEqual(repozytorium.SizeOfZdarzenia(), 1);
        }
Ejemplo n.º 2
0
        // ********************** Zdarzenia **********************


        public Boolean Wypozycz(Uzytkownik uz, Egzemplarz eg)
        {
            Boolean czyWypozyczy = false;

            if (repozytorium.GetAllUzytkownikow().Contains(uz))
            {
                Predicate <OpisStanuEgzemplarza> predykat = CzyEgzemplarz;

                bool CzyEgzemplarz(OpisStanuEgzemplarza opis)
                {
                    return(opis.Equals(eg));
                }

                OpisStanuEgzemplarza znalezionyOpis = repozytorium.GetAllOpisStanuEgzemplarza().Find(predykat);

                if (znalezionyOpis.Dostepna)
                {
                    ZdarzeniePozyczenia zd = new ZdarzeniePozyczenia();
                    zd.Co              = eg;
                    zd.Kto             = uz;
                    zd.KiedyWypozyczyl = DateTime.Now;

                    repozytorium.AddZdarzenie(zd);

                    znalezionyOpis.Dostepna          = false;
                    czyWypozyczy                     = true;
                    znalezionyOpis.LicznikWypozyczen = znalezionyOpis.LicznikWypozyczen + 1;    // zwiekrzam licznik wyypozyczen
                }
            }
            return(czyWypozyczy);
        }
Ejemplo n.º 3
0
        public void GetAllZdarzeniaTest()
        {
            DataRepository repozytorium = new DataRepository(wypelnia);

            {
                repozytorium.DataContex = dataConstexx;
            };
            Egzemplarz egz  = new Ksiazka(111, "c# 6.0 Leksykon ieszonkowy", Rodzaj.popularno_naukowy, 200, "Joseph", "Albahari", "978-83-283-2446-6");
            Egzemplarz egz2 = new Ksiazka(222, "c++ Biblioteka Standardowa", Rodzaj.popularno_naukowy, 1120, "Nicolai", "Jostuttis", "978-83-246-5576-2");

            Uzytkownik uz = new Uzytkownik()
            {
                Adres    = "Abramowskiego 1/7",
                Imie     = "Adam",
                Nazwisko = "Andrzejczyk",
                Pesel    = 1234,
            };
            Uzytkownik uzB = new Uzytkownik()
            {
                Adres    = "bandurskiego 1/7",
                Imie     = "Bogdan",
                Nazwisko = "Brzechwa",
                Pesel    = 2345,
            };


            ZdarzeniePozyczenia zd = new ZdarzeniePozyczenia
            {
                Co              = egz,
                Kto             = uz,
                KiedyWypozyczyl = new DateTime(2018, 3, 1, 9, 0, 0), //01/03/2008 07:00:00
                //KiedyZwrocil = new DateTime(2018, 5, 2, 19, 0, 0),
                //Kara = 15,
            };
            ZdarzeniePozyczenia zd2 = new ZdarzeniePozyczenia
            {
                Co              = egz2,
                Kto             = uzB,
                KiedyWypozyczyl = new DateTime(2018, 5, 2, 19, 0, 0), //01/03/2008 07:00:00
                //KiedyZwrocil = new DateTime(2018, 5, 2, 19, 0, 0),
                //Kara = 0,
            };

            repozytorium.AddZdarzenie(zd);
            repozytorium.AddZdarzenie(zd2);

            List <Zdarzenie> nowa = new List <Zdarzenie>();

            nowa.Add(zd);
            nowa.Add(zd2);

            List <Zdarzenie> zRepozytorium = repozytorium.GetAllZdarzenia().ToList <Zdarzenie>();

            for (int i = 0; i < repozytorium.SizeOfUzytkownicy(); i++)
            {
                Assert.ReferenceEquals(nowa[i], zRepozytorium[i]);
            }
        }
Ejemplo n.º 4
0
        public void UpdateZdarzenieTest()
        {
            DataRepository repozytorium = new DataRepository(wypelnia);

            {
                repozytorium.DataContex = dataConstexx;
            };
            Egzemplarz egz  = new Ksiazka(111, "c# 6.0 Leksykon ieszonkowy", Rodzaj.popularno_naukowy, 200, "Joseph", "Albahari", "978-83-283-2446-6");
            Egzemplarz egz2 = new Ksiazka(222, "c++ Biblioteka Standardowa", Rodzaj.popularno_naukowy, 1120, "Nicolai", "Jostuttis", "978-83-246-5576-2");

            Uzytkownik uz = new Uzytkownik()
            {
                Adres    = "Abramowskiego 1/7",
                Imie     = "Adam",
                Nazwisko = "Andrzejczyk",
                Pesel    = 1234,
            };
            Uzytkownik uzB = new Uzytkownik()
            {
                Adres    = "bandurskiego 1/7",
                Imie     = "Bogdan",
                Nazwisko = "Brzechwa",
                Pesel    = 2345,
            };


            ZdarzeniePozyczenia zd = new ZdarzeniePozyczenia
            {
                Co              = egz,
                Kto             = uz,
                KiedyWypozyczyl = new DateTime(2018, 3, 1, 9, 0, 0), //01/03/2008 07:00:00
            };
            ZdarzeniePozyczenia zd2 = new ZdarzeniePozyczenia
            {
                Co              = egz2,
                Kto             = uzB,
                KiedyWypozyczyl = new DateTime(2018, 5, 2, 19, 0, 0), //01/03/2008 07:00:00
            };

            repozytorium.AddZdarzenie(zd);
            Assert.ReferenceEquals(repozytorium.GetZdarzenie(0), zd);

            repozytorium.UpdateZdarzenie(zd, zd2);

            Assert.ReferenceEquals(repozytorium.GetZdarzenie(0), zd2);
        }
Ejemplo n.º 5
0
        public void Wypelnij(ref DataContext contex)
        {
            // ********************wypelniam uzytkownikow********************
            Uzytkownik u1 = new Uzytkownik
            {
                Imie     = "Jan",
                Nazwisko = "Niezbedny",
                Pesel    = 6389,
                Adres    = "Gdanska 3m.22",
            };
            Uzytkownik u2 = new Uzytkownik
            {
                Imie     = "Grzegorz",
                Nazwisko = "Brzeczyszczykiewicz",
                Pesel    = 111111,
                Adres    = "Chrzeszczygrzegoszyce powiad Łękołody"
            };

            contex.listaUzytkownikow.Add(u1);
            contex.listaUzytkownikow.Add(u2);

            //******************** wypelniam ksiazki********************
            Egzemplarz e1 = new Ksiazka(1, "c# lekykon kieszonkowy", Rodzaj.popularno_naukowy, 199, "Joseph", "Albahari", "978-83-283-2446-6");
            Egzemplarz e2 = new Ksiazka(2, "Rzeżnik drzew", Rodzaj.fantastyka, 479, "Andrzej", "Pilipiuk", "978-83-7574-937-3");

            contex.egzemplarze.Add(e1.Id, e1);
            contex.egzemplarze.Add(e2.Id, e2);

            // ********************wypelniam zdarzenia********************


            string dateString = "5/1/2008 8:30:52 AM";

            Zdarzenie z1 = new ZdarzenieZwrotu()
            {
                Kto          = u1,
                Co           = e1,
                KiedyZwrocil = DateTime.Now,
                Kara         = 22,
            };
            Zdarzenie zp1 = new ZdarzeniePozyczenia()
            {
                Kto             = u1,
                Co              = e1,
                KiedyWypozyczyl = DateTime.Parse(dateString, System.Globalization.CultureInfo.InvariantCulture),
            };

            Zdarzenie z2 = new ZdarzenieZwrotu
            {
                Kto          = u1,
                Co           = e2,
                KiedyZwrocil = DateTime.Today, //new DateTime(2018, 6, 15, 13, 0, 0),
                Kara         = 33,
            };
            Zdarzenie zp2 = new ZdarzeniePozyczenia
            {
                Kto             = u1,
                Co              = e2,
                KiedyWypozyczyl = Convert.ToDateTime(dateString),// new DateTime(2018, 6, 8, 16, 0, 0), //01/03/2008 07:00:00
            };

            Zdarzenie z3 = new ZdarzenieZwrotu
            {
                Kto          = u2,
                Co           = e1,
                KiedyZwrocil = new DateTime(2018, 7, 9, 13, 10, 0), //01/03/2008 07:00:00
                Kara         = 0,
            };

            Zdarzenie zp3 = new ZdarzeniePozyczenia
            {
                Kto             = u2,
                Co              = e1,
                KiedyWypozyczyl = new DateTime(2018, 7, 9, 13, 10, 0), //01/03/2008 07:00:00
            };

            Zdarzenie z4 = new ZdarzeniePozyczenia
            {
                Kto             = u2,
                Co              = e1,
                KiedyWypozyczyl = new DateTime(2018, 9, 11, 19, 20, 0), //01/03/2008 07:00:00
            };

            contex.zdarzenia.Add(z1);
            contex.zdarzenia.Add(zp1);
            contex.zdarzenia.Add(z2);
            contex.zdarzenia.Add(zp2);
            contex.zdarzenia.Add(z3);
            contex.zdarzenia.Add(zp3);
            contex.zdarzenia.Add(z4);

            //******************** opis stanow egzemplarzy********************
            OpisStanuEgzemplarza oe1 = new OpisStanuEgzemplarza
            {
                DataZakupu      = new DateTime(2017, 1, 2, 13, 10, 0),
                KtoryEgzemplarz = e1,
                OpisStanu       = "Nowa bez uszkodzen",
                Dostepna        = true
            };

            OpisStanuEgzemplarza oe2 = new OpisStanuEgzemplarza
            {
                DataZakupu      = new DateTime(2017, 1, 2, 13, 10, 0),
                KtoryEgzemplarz = e2,
                OpisStanu       = "uszkodzony róg na 4 stronie",
                Dostepna        = true
            };

            contex.opisStanow.Add(oe1);
            contex.opisStanow.Add(oe2);
        }
Ejemplo n.º 6
0
        //********************* Główna metoda *********************

        public void Wypelnij(ref DataContext contex)
        {
            //********************* Dodajemy osoby*********************
            XDocument         xml    = XDocument.Load(@"..\xml\Dane.xml");
            List <Uzytkownik> listaU = (
                from osoba in xml.Root.Elements("osoba")
                select new Uzytkownik
                (
                    osoba.Element("imie").Value,
                    osoba.Element("nazwisko").Value,
                    int.Parse(osoba.Element("pesel").Value),
                    osoba.Element("adres").Value
                )
                ).ToList <Uzytkownik>();


            for (int i = 0; i < listaU.Count; i++)
            {
                contex.listaUzytkownikow.Add(listaU.ElementAt(i));
            }


            //**************************** Dodajemy ksiazki *********************



            List <Ksiazka> lista = (
                from ksiazka in xml.Root.Elements("ksiazka")
                select new Ksiazka
                (
                    int.Parse(ksiazka.Element("id").Value),
                    ksiazka.Element("tytul").Value,
                    ((Rodzaj)(Rodzaj)Enum.Parse(typeof(Rodzaj), ksiazka.Element("rodzaj").Value)),
                    int.Parse(ksiazka.Element("iloscStron").Value),
                    ksiazka.Element("imieAutora").Value,
                    ksiazka.Element("nazwiskoAutora").Value,
                    ksiazka.Element("isbn").Value
                )
                ).ToList <Ksiazka>();



            for (int i = 0; i < lista.Count; i++)
            {
                contex.egzemplarze.Add(lista.ElementAt(i).Id, lista.ElementAt(i));
            }

            //**************************** Dodajemy zwroty *********************


            List <PotrzebnaDoSynchronizacjiZdarzenZwrotu> listaZ = (
                from zdarz in xml.Root.Elements("zdarzenieZwrotu")
                select new PotrzebnaDoSynchronizacjiZdarzenZwrotu
                (
                    int.Parse(zdarz.Element("kto").Value),
                    int.Parse(zdarz.Element("co").Value),
                    DateTime.Parse(zdarz.Element("kiedyZwrocil").Value),
                    int.Parse(zdarz.Element("kara").Value)
                )
                ).ToList <PotrzebnaDoSynchronizacjiZdarzenZwrotu>();


            for (int i = 0; i < listaZ.Count; i++)
            {
                // tworze predykaty
                Predicate <Egzemplarz> predykatK = CzyEgzemplarzK;
                bool CzyEgzemplarzK(Egzemplarz opis)
                {
                    return(opis.Id.Equals(listaZ.ElementAt(i).Ksiazka));
                }

                Predicate <Uzytkownik> predykatU = CzyEgzemplarzU;
                bool CzyEgzemplarzU(Uzytkownik opis)
                {
                    return(opis.Pesel.Equals(listaZ.ElementAt(i).Osoba));
                }

                // tworze zdarzenie z predykatow
                ZdarzenieZwrotu zd = new ZdarzenieZwrotu();
                zd.Co           = lista.Find(predykatK);
                zd.Kto          = listaU.Find(predykatU);
                zd.KiedyZwrocil = Convert.ToDateTime(listaZ.ElementAt(i).Zwrot);
                zd.Kara         = listaZ.ElementAt(i).Kar;

                //dodaje do repozytorium
                contex.zdarzenia.Add(zd);
            }

            //**************************** Dodajemy pozyczenia ****************************


            List <PotrzebnaDoSynchronizacjiZdarzenPozyczen> listaPoz = (
                from zdarzPoz in xml.Root.Elements("zdarzeniePozyczenia")
                select new PotrzebnaDoSynchronizacjiZdarzenPozyczen
                (
                    int.Parse(zdarzPoz.Element("kto").Value),
                    int.Parse(zdarzPoz.Element("co").Value),
                    DateTime.Parse(zdarzPoz.Element("kiedyWypozyczyl").Value)
                )
                ).ToList <PotrzebnaDoSynchronizacjiZdarzenPozyczen>();


            for (int i = 0; i < listaPoz.Count; i++)
            {
                // tworze predykaty
                Predicate <Egzemplarz> predykatK = CzyEgzemplarzK;
                bool CzyEgzemplarzK(Egzemplarz opis)
                {
                    return(opis.Id.Equals(listaPoz.ElementAt(i).Ksiazka));
                }

                Predicate <Uzytkownik> predykatU = CzyEgzemplarzU;
                bool CzyEgzemplarzU(Uzytkownik opis)
                {
                    return(opis.Pesel.Equals(listaPoz.ElementAt(i).Osoba));
                }

                // tworze zdarzenie z predykatow
                ZdarzeniePozyczenia zd = new ZdarzeniePozyczenia();
                zd.Co              = lista.Find(predykatK);
                zd.Kto             = listaU.Find(predykatU);
                zd.KiedyWypozyczyl = Convert.ToDateTime(listaPoz.ElementAt(i).Wypoz);

                //dodaje do repozytorium
                contex.zdarzenia.Add(zd);
            }


            //**************************** Dodajemy opisy Egzemplarza *********************


            List <PotrzebnaDoSynchronizacjiOpisuEgzemplarza> listaO = (
                from opis in xml.Root.Elements("opisstanuegzemplarza")
                select new PotrzebnaDoSynchronizacjiOpisuEgzemplarza
                (
                    int.Parse(opis.Element("egzemplarz").Value),
                    DateTime.Parse(opis.Element("datazakupu").Value),
                    Boolean.Parse(opis.Element("dostepna").Value),
                    opis.Element("opisstanu").Value,
                    int.Parse(opis.Element("licznikwypozyczen").Value)
                )
                ).ToList <PotrzebnaDoSynchronizacjiOpisuEgzemplarza>();


            for (int i = 0; i < listaO.Count; i++)
            {
                // tworze predykaty
                Predicate <Egzemplarz> predykatK = CzyEgzemplarzK;
                bool CzyEgzemplarzK(Egzemplarz opis)
                {
                    return(opis.Id.Equals(listaO.ElementAt(i).KtoryEgzemplarz));
                }

                // tworze zdarzenie z predykatow
                OpisStanuEgzemplarza op = new OpisStanuEgzemplarza();
                op.KtoryEgzemplarz   = lista.Find(predykatK);
                op.DataZakupu        = Convert.ToDateTime(listaO.ElementAt(i).DataZakupu);
                op.Dostepna          = listaO.ElementAt(i).Dostepna;
                op.OpisStanu         = listaO.ElementAt(i).OpisStanu;
                op.LicznikWypozyczen = listaO.ElementAt(i).LicznikWypozyczen;

                contex.opisStanow.Add(op);
            }
        }