public static void dodajKsiazke() { Autor autor = null; string tytul, nazwiskoTmp, imieTmp; int rokWydania, wybor; Console.Clear(); Console.WriteLine("Podaj tytul ksiazki: "); tytul = Console.ReadLine(); Console.WriteLine("Podaj rok wydania: "); rokWydania = int.Parse(Console.ReadLine()); Console.Clear(); Console.WriteLine("Podaj autora\n1. Nowy autor\n2. Istniejacy autor"); wybor = int.Parse(Console.ReadLine()); Console.Clear(); if (wybor < 1 || wybor > 2) { Console.WriteLine("Nieodpowiedni wybor, nie udalo sie dodac autora!"); return; } if (wybor == 1) { autor = dodajAutora(); } else if (wybor == 2) { if (DzialProgramowy.autorzy.Licz() == 0) { Console.WriteLine("Brak autorow w bazie.\nAnulowano operacje.\n"); return; } DzialProgramowy.autorzy.Wypisz(); Console.WriteLine("Imie autora: "); imieTmp = Console.ReadLine(); Console.WriteLine("Nazwisko autora: "); nazwiskoTmp = Console.ReadLine(); Console.Clear(); autor = DzialProgramowy.autorzy.Znajdz(imieTmp, nazwiskoTmp); if (autor == null) { Console.WriteLine("Takiego autora nie ma w bazie.\nAnulowano operacje.\n"); return; } } Console.WriteLine("Typ ksiazki:\n1. Sensacyjna\n2. Romans\n3. Album"); wybor = int.Parse(Console.ReadLine()); Console.Clear(); if (wybor == 1) { Sensacyjna ks = new Sensacyjna(tytul, autor, rokWydania); DzialHandlowy.ksiazki.Dodaj(ks); } else if (wybor == 2) { Romans ks = new Romans(tytul, autor, rokWydania); DzialHandlowy.ksiazki.Dodaj(ks); } else if (wybor == 3) { Album ks = new Album(tytul, autor, rokWydania); DzialHandlowy.ksiazki.Dodaj(ks); } else { Console.WriteLine("Nieodpowiedni wybor. Przypisano domyslny typ: ksiazka"); Ksiazka ks = new Ksiazka(tytul, autor, rokWydania); DzialHandlowy.ksiazki.Dodaj(ks); } }
private void wczytaj() { Console.Clear(); using (StreamReader file = new StreamReader("autorzy.txt")) { int iterator = 0; string imie = ""; string nazwisko = ""; string[] autorzy = file.ReadToEnd().Split(' '); if (autorzy == null) { throw new EmptyFileException("Plik autorzy.txt, z ktorego chcesz wczytac jest pusty lub nie mozliwy do oczytania!"); } foreach (string autor in autorzy) { if (iterator == 0) { imie = autor; } if (iterator == 1) { nazwisko = autor; } iterator++; if (iterator == 2) { Autor autorN; if (DzialProgramowy.autorzy.Znajdz(imie, nazwisko) == null) { autorN = new Autor(imie, nazwisko); } else { autorN = DzialProgramowy.autorzy.Znajdz(imie, nazwisko); } DodajPoz.dodajAutora(autorN); iterator = 0; } } file.Close(); } using (StreamReader file = new StreamReader("umowy.txt")) { int iterator = 0; int czastrwania = 0; float zarobki = 0; string imieAutora = ""; string nazwiskoAutora = ""; string[] umowy = file.ReadToEnd().Split(' '); //Metoda ta powoduje, ze wszystko co jest w zmiennej StreamReader o nazwie file jest dodawanie do tablicy //znakiem oddzielenia jest spacja, co jest oznaczone jako ' ' if (umowy == null) { throw new EmptyFileException("Plik umowy.txt, z ktorego chcesz wczytac jest pusty lub jest nie mozliwy do oczytania!"); } foreach (string umowa in umowy) { if (iterator == 0) { czastrwania = int.Parse(umowa); } //konwertujemy do typu int, poniwaz wejscie jest w typie string if (iterator == 1) { zarobki = float.Parse(umowa); //musimy skonwertować naszą wartości wczytaną z pliku do typu float, poniewaz streamreader czyta stringi } //jako wejscie, których nie mozna traktowac jak liczby if (iterator == 2) { imieAutora = umowa; } if (iterator == 3) { nazwiskoAutora = umowa; } iterator++; if (iterator == 4) { Autor autorN; Umowa umowos; if (DzialProgramowy.autorzy.Znajdz(imieAutora, nazwiskoAutora) != null) //metoda DzialProgramowy.autorzy.znajdz(obiekt) mówi nam czy taki obiekt jest w naszej bazie { //i jesli jest to zwraca nam referencje do tego obiektu, jesli nie ma to zwraca wartosc autorN = DzialProgramowy.autorzy.Znajdz(imieAutora, nazwiskoAutora); //null, która mówi nam ze trzeba stworzyc nowy obiekt } else { autorN = new Autor(imieAutora, nazwiskoAutora); DzialProgramowy.autorzy.Dodaj(autorN); } if (DzialProgramowy.umowy.Znajdz(imieAutora, nazwiskoAutora) == null) { umowos = new Umowa(czastrwania, zarobki, autorN); DzialProgramowy.umowy.Dodaj(umowos); } else { umowos = DzialProgramowy.umowy.Znajdz(imieAutora, nazwiskoAutora); DzialProgramowy.umowy.Dodaj(umowos); } iterator = 0; } } file.Close(); } using (StreamReader file = new StreamReader("czasopisma.txt")) { int iterator = 0; //ustawiamy wartosci poczatkowe zmiennych na "domyślne " wartości zeby kompilator nie krzyczal o nie zadeklarowanej string tytul = ""; //zmiennej float cena = 0; string typ = ""; string[] czasopisma = file.ReadToEnd().Split(' '); //Metoda ta powoduje, ze wszystko co jest w zmiennej StreamReader o nazwie file jest dodawanie do tablicy if (czasopisma == null) //stringów, a znakiem odzielenia jest spacja co jest oznaczone jako ' ' { //wyrzucamy wyjątek jeśli nasza tablica stringów jest pusta, to znak ze plik jest pusty! throw new EmptyFileException("Plik czasopisma.txt, z ktorego chcesz wczytac jest pusty, lub nie mozliwy do oczytania!"); } foreach (string czasopismo in czasopisma) { if (iterator == 0) //Mamy tutaj iterator, ktory moze przybrac wartosc maksymalnie 3, pomaga nam on zeby z tablicy { tytul = czasopismo; } //stringów wybrać pojedyńcze elementy, takie jak tytuł, typ, cena, po osiagnieciu wartosci 3, po if (iterator == 1) //wykonaniu instrukcji dodania odpowiedniego czasopisma do zbioru czasopism, zerujemy go by mogl { cena = float.Parse(czasopismo); } //dodać kolejne czasopisma if (iterator == 2) { typ = czasopismo; } iterator++; if (iterator == 3) { if (typ == "czasopismo") { Czasopismo czasopism; if (DzialHandlowy.czasopisma.Znajdz(tytul) == null) //metoda Start.czasopsima.Znajdz(obiekt) zwraca nam referencję do obiektu, jeśli taki { //obiekt istnieje w naszej bazie, a jesli nie ma takiego to zwraca nam wartosc null, ktora czasopism = new Czasopismo(cena, tytul); //mówi, ze mozemy stworzyc nowy obiekt } else { czasopism = DzialHandlowy.czasopisma.Znajdz(tytul); } DzialHandlowy.czasopisma.Dodaj(czasopism); } if (typ == "miesiecznik") { Czasopismo czasopism; if (DzialHandlowy.czasopisma.Znajdz(tytul) == null) { czasopism = new Miesiecznik(cena, tytul); } //w zaleznosci z jakim typem czasopisma mamy do czynienia, korzystamy z odpowiednich else //metod dodania czasopisma { czasopism = DzialHandlowy.czasopisma.Znajdz(tytul); } DzialHandlowy.czasopisma.Dodaj(czasopism); } if (typ == "tygodnik") { Czasopismo czasopism; if (DzialHandlowy.czasopisma.Znajdz(tytul) == null) { czasopism = new Tygodnik(cena, tytul); } else { czasopism = DzialHandlowy.czasopisma.Znajdz(tytul); } DzialHandlowy.czasopisma.Dodaj(czasopism); } iterator = 0; } } file.Close(); } using (StreamReader file = new StreamReader("ksiazki.txt")) { int iterator = 0; string tytul = ""; int rokwydania = 0; string imieAutora = ""; string nazwiskoAutora = ""; string gatunek = ""; string[] ksiazki = file.ReadToEnd().Split(' '); if (ksiazki == null) { throw new EmptyFileException("Plik ksiazki.txt, z ktorego chcesz wczytac jest pusty!"); } foreach (string ksiazka in ksiazki) { if (iterator == 0) { tytul = ksiazka; } if (iterator == 1) { rokwydania = int.Parse(ksiazka); } if (iterator == 2) { imieAutora = ksiazka; } if (iterator == 3) { nazwiskoAutora = ksiazka; } if (iterator == 4) { gatunek = ksiazka; } iterator++; if (iterator == 5) { if (gatunek == "Sensacyjna") { Autor autor; Ksiazka sensacyjna; if (DzialProgramowy.autorzy.Znajdz(imieAutora, nazwiskoAutora) == null) { autor = new Autor(imieAutora, nazwiskoAutora); } else { autor = DzialProgramowy.autorzy.Znajdz(imieAutora, nazwiskoAutora); } if (DzialHandlowy.ksiazki.Znajdz(tytul) == null) { sensacyjna = new Sensacyjna(tytul, autor, rokwydania); } else { sensacyjna = DzialHandlowy.ksiazki.Znajdz(tytul); } DzialHandlowy.ksiazki.Dodaj(sensacyjna); } if (gatunek == "Romans") { Autor autor; Ksiazka romans; if (DzialProgramowy.autorzy.Znajdz(imieAutora, nazwiskoAutora) == null) { autor = new Autor(imieAutora, nazwiskoAutora); } else { autor = new Autor(imieAutora, nazwiskoAutora); } if (DzialHandlowy.ksiazki.Znajdz(tytul) == null) { romans = new Romans(tytul, autor, rokwydania); } else { romans = DzialHandlowy.ksiazki.Znajdz(tytul); } DzialHandlowy.ksiazki.Dodaj(romans); } if (gatunek == "Album") { Autor autor; Ksiazka album; if (DzialProgramowy.autorzy.Znajdz(imieAutora, nazwiskoAutora) == null) { autor = new Autor(imieAutora, nazwiskoAutora); } else { autor = new Autor(imieAutora, nazwiskoAutora); } if (DzialHandlowy.ksiazki.Znajdz(tytul) == null) { album = new Album(tytul, autor, rokwydania); } else { album = DzialHandlowy.ksiazki.Znajdz(tytul); } DzialHandlowy.ksiazki.Dodaj(album); } if (gatunek == "Ksiazka") { Autor autor; Ksiazka ksiazkaa; if (DzialProgramowy.autorzy.Znajdz(imieAutora, nazwiskoAutora) == null) { autor = new Autor(imieAutora, nazwiskoAutora); } else { autor = new Autor(imieAutora, nazwiskoAutora); } if (DzialHandlowy.ksiazki.Znajdz(tytul) == null) { ksiazkaa = new Album(tytul, autor, rokwydania); } else { ksiazkaa = DzialHandlowy.ksiazki.Znajdz(tytul); } DzialHandlowy.ksiazki.Dodaj(ksiazkaa); } iterator = 0; } } file.Close(); } Console.WriteLine("Wczytano.\n"); }