Example #1
0
        public void Wypelnij(DanePowiazania powiazanie)
        {
            List <Wykaz> czytelnicy = new List <Wykaz>
            {
                new Wykaz("Jan", "Kowalski"),
                new Wykaz("Piotr", "Nowak"),
                new Wykaz("Adam", "Wiśniewski"),
                new Wykaz("Jakub", "Kamiński")
            };

            foreach (var czytelnik in czytelnicy)
            {
                powiazanie.ElementyWykazu.Add(czytelnik);
            }

            List <Katalog> ksiazki = new List <Katalog>
            {
                new Katalog("Pan_Tadeusz", "Adam_Mickiewicz", "O_szlachcie"),
                new Katalog("Ferdydurke", "Witold_Gombrowicz", "O_maskach"),
                new Katalog("Zbrodnia_i_kara", "Fiodor_Dostojewski", "O_morderstwie"),
                new Katalog("Jądro_ciemności", "Joseph_Conrad", "O_Afryce")
            };

            foreach (var ksiazka in ksiazki)
            {
                powiazanie.PozycjeKatalogowe.Add(ksiazka.Klucz, ksiazka);
            }


            List <OpisStanu> egzemplarze = new List <OpisStanu>
            {
                new OpisStanu(ksiazki[0], "Lekko_zniszczona", new DateTime(2017, 9, 3, 12, 00, 00)),
                new OpisStanu(ksiazki[0], "W_dobrym_stanie", new DateTime(2016, 6, 2, 12, 00, 00)),
                new OpisStanu(ksiazki[2], "W_stanie_idealnym", new DateTime(2012, 8, 4, 12, 00, 00)),
                new OpisStanu(ksiazki[3], "Mocno_zniszczona", new DateTime(2018, 9, 3, 12, 00, 00))
            };

            foreach (var egzemplarz in egzemplarze)
            {
                powiazanie.OpisyStanu.Add(egzemplarz);
            }


            powiazanie.Wypozyczenia.Add(new Zdarzenie(egzemplarze[0], czytelnicy[0], new DateTime(2017, 9, 3, 12, 00, 00), new DateTime(2017, 7, 3, 12, 00, 00)));
            powiazanie.Wypozyczenia.Add(new Zdarzenie(egzemplarze[1], czytelnicy[0], new DateTime(2017, 6, 3, 12, 00, 00), new DateTime(2017, 9, 3, 12, 00, 00)));
            powiazanie.Wypozyczenia.Add(new Zdarzenie(egzemplarze[2], czytelnicy[0], new DateTime(2017, 6, 3, 12, 00, 00)));
            powiazanie.Wypozyczenia.Add(new Zdarzenie(egzemplarze[0], czytelnicy[1], new DateTime(2017, 9, 3, 12, 00, 00), new DateTime(2017, 10, 3, 12, 00, 00)));
            powiazanie.Wypozyczenia.Add(new Zdarzenie(egzemplarze[1], czytelnicy[1], new DateTime(2017, 9, 3, 14, 00, 00)));
            powiazanie.Wypozyczenia.Add(new Zdarzenie(egzemplarze[0], czytelnicy[2], new DateTime(2017, 11, 5, 12, 00, 00)));
        }
 public void Deserializuj(DanePowiazania powiazanie, string dane)
 {
     powiazanie = JsonConvert.DeserializeObject <DanePowiazania>(dane);
 }
 public string Serializuj(DanePowiazania powiazanie)
 {
     return(JsonConvert.SerializeObject(powiazanie, Formatting.Indented, new JsonSerializerSettings {
         PreserveReferencesHandling = PreserveReferencesHandling.Objects
     }));
 }
Example #4
0
 public DaneRepozytorium()
 {
     DanePowiazania    = new DanePowiazania();
     WypelnianieDanymi = new WypelnianieStalymi();
     WypelnianieDanymi.Wypelnij(DanePowiazania);
 }
Example #5
0
        public void Wypelnij(DanePowiazania powiazanie)
        {
            const int     N    = 50;
            Random        rand = new Random();
            DateTime      date;
            List <string> imiona = new List <string>()
            {
                "Jan", "Adam", "Piotr", "Patryk", "Łukasz",
                "Aleksander", "Janusz", "Mariusz", "Marek"
            };

            List <string> nazwiska = new List <string>()
            {
                "Kowalski", "Nowak", "Wiśniewski", "Lewandowski",
                "Dąbrowski", "Woźniak", "Kwiatkowski", "Jankowski"
            };

            List <string> tytuly = new List <string>()
            {
                "Pan_Tadeusz", "Ferdydurke", "Władca_Pierścieni", "Jądro_Ciemności"
            };

            List <string> opisy = new List <string>()
            {
                "Przygodowa", "Fantasy", "Science_fiction", "Romans", "Obyczajowa"
            };

            List <string> opisyStanu = new List <string>()
            {
                "W_stanie_idealnym", "W_dobrym_stanie", "Średnio_zniszczona",
                "Mocno_zniszczona", "Bardzo_zniszczona"
            };

            //List<Guid> kluczeKatalogu = new List<Guid>();
            for (int i = 0; i < N; i++)
            {
                powiazanie.ElementyWykazu.Add(new Wykaz(imiona[rand.Next(0, imiona.Count)], nazwiska[rand.Next(0, nazwiska.Count)]));
                Katalog katalog = new Katalog(tytuly[rand.Next(0, tytuly.Count)],
                                              imiona[rand.Next(0, imiona.Count)] + " " + nazwiska[rand.Next(0, nazwiska.Count)],
                                              opisy[rand.Next(0, opisy.Count)]);
                powiazanie.PozycjeKatalogowe.Add(katalog.Klucz, katalog);
                //kluczeKatalogu.Add(katalog.Klucz);

                powiazanie.OpisyStanu.Add(new OpisStanu(katalog,
                                                        opisyStanu[rand.Next(0, opisyStanu.Count)],
                                                        new DateTime(2000 + rand.Next(0, 18), rand.Next(1, 13), rand.Next(1, 29), rand.Next(0, 24), rand.Next(0, 60), 0)));
            }
            for (int i = 0; i < N; i++)
            {
                date = new DateTime(2000 + rand.Next(0, 18), rand.Next(1, 13), rand.Next(1, 29), rand.Next(0, 24), rand.Next(0, 60), 0);
                if (rand.Next(0, 2) == 0)
                {
                    powiazanie.Wypozyczenia.Add(new Zdarzenie(powiazanie.OpisyStanu[rand.Next(0, powiazanie.OpisyStanu.Count)],
                                                              powiazanie.ElementyWykazu[rand.Next(0, powiazanie.ElementyWykazu.Count)],
                                                              date, date + new System.TimeSpan(rand.Next(0, 120), rand.Next(0, 24), rand.Next(0, 60), 0)
                                                              ));
                }
                else
                {
                    powiazanie.Wypozyczenia.Add(new Zdarzenie(powiazanie.OpisyStanu[rand.Next(0, powiazanie.OpisyStanu.Count)],
                                                              powiazanie.ElementyWykazu[rand.Next(0, powiazanie.ElementyWykazu.Count)],
                                                              date)
                                                );
                }
            }
        }
        public void Deserializuj(DanePowiazania powiazanie, string dane)
        {
            List <Wykaz> elementyWykazu = new List <Wykaz>();
            Dictionary <Guid, Katalog>       pozycjeKatalogowe = new Dictionary <Guid, Katalog>();
            List <OpisStanu>                 opisyStanu        = new List <OpisStanu>();
            ObservableCollection <Zdarzenie> wypozyczenia      = new ObservableCollection <Zdarzenie>();

            string[] listy = dane.Split(';');
            string[] pola;


            foreach (var wykaz in listy[0].Split(','))
            {
                pola = wykaz.Split(' ');
                if (pola.Length != 6)
                {
                    break;
                }
                elementyWykazu.Add(new Wykaz(pola[3], pola[5]));
            }

            /*foreach (var wykaz in elementyWykazu)
             * {
             *  Console.Write(wykaz.ToString());
             * }*/

            foreach (var katalog in listy[1].Split(','))
            {
                pola = katalog.Split(' ');
                if (pola.Length != 10)
                {
                    break;
                }
                pozycjeKatalogowe.Add(Guid.Parse(pola[3]), new Katalog(pola[3], pola[5], pola[7], pola[9]));
            }

            /*foreach (var katalog in pozycjeKatalogowe)
             * {
             *  Console.Write(katalog.Value.ToString());
             * }*/

            foreach (var opisStanu in listy[2].Split(','))
            {
                pola = opisStanu.Split(' ');
                if (pola.Length != 8)
                {
                    break;
                }
                opisyStanu.Add(new OpisStanu(pozycjeKatalogowe[Guid.Parse(pola[3])], pola[5], pola[7]));
            }

            /*foreach (var opisStanu in opisyStanu)
             * {
             *  Console.Write(opisStanu.ToString());
             * }*/

            foreach (var wypozyczenie in listy[3].Split(','))
            {
                pola = wypozyczenie.Split(' ');
                if (pola.Length != 10)
                {
                    break;
                }
                wypozyczenia.Add(new Zdarzenie(opisyStanu[Int32.Parse(pola[3])], elementyWykazu[Int32.Parse(pola[5])], pola[7], pola[9]));
            }

            /*
             * foreach (var wypozyczenie in wypozyczenia)
             * {
             *  Console.Write(wypozyczenie.ToString());
             * }*/
        }
        public string Serializuj(DanePowiazania powiazanie)
        {
            string wykaz = "", katalog = "", zdarzenie = "", opisStanu = "";

            //string wynik = "Pozycje katalogowe:\n";
            for (int i = 0; i < powiazanie.ElementyWykazu.Count; i++)
            {
                wykaz += "Indeks: " + i + " " + powiazanie.ElementyWykazu[i].ToString() + ",";
            }

            foreach (var item in powiazanie.PozycjeKatalogowe)
            {
                katalog += "Indeks: " + item.Key + " " + item.Value.ToString() + ",";
            }
            int  j = 0, k = 0;
            Guid tempGuid = new Guid();

            for (int i = 0; i < powiazanie.OpisyStanu.Count; i++)
            {
                foreach (var item in powiazanie.PozycjeKatalogowe)
                {
                    if (powiazanie.OpisyStanu[i].Egzemplarz.Klucz == item.Key)
                    {
                        tempGuid = item.Key;
                        break;
                    }
                }

                opisStanu += "Indeks: " + i + " Egzemplarz: " + tempGuid + " " + powiazanie.OpisyStanu[i].KrotkiToString() + ",";
            }

            for (int i = 0; i < powiazanie.Wypozyczenia.Count; i++)
            {
                for (j = 0; j < powiazanie.OpisyStanu.Count; j++)
                {
                    if (powiazanie.Wypozyczenia[i].Egzemplarz.Egzemplarz.Klucz == powiazanie.OpisyStanu[j].Egzemplarz.Klucz)
                    {
                        break;
                    }
                }
                if (j == powiazanie.OpisyStanu.Count)
                {
                    j = 0;
                }

                for (k = 0; k < powiazanie.ElementyWykazu.Count; k++)
                {
                    if (powiazanie.Wypozyczenia[i].Wypozyczajacy == powiazanie.ElementyWykazu[k])
                    {
                        break;
                    }
                }
                if (k == powiazanie.ElementyWykazu.Count)
                {
                    k = 0;
                }

                zdarzenie += "Indeks: " + i + " Egzemplarz: " + j + " Wypozyczajacy: " + k + " " + powiazanie.Wypozyczenia[i].KrotkiToString() + ",";
            }



            return(wykaz + ";" + katalog + ";" + opisStanu + ";" + zdarzenie + ";");
        }