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);
            }
        }
예제 #2
0
        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");
        }