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 })); }
public DaneRepozytorium() { DanePowiazania = new DanePowiazania(); WypelnianieDanymi = new WypelnianieStalymi(); WypelnianieDanymi.Wypelnij(DanePowiazania); }
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 + ";"); }