Пример #1
0
        private void backListButton_Click(object sender, RoutedEventArgs e)
        {
            // zobrazí se předchozí packet/seznam/stránka a to i pokud vyhledal a výsledků bylo víc
            if (počet > 10)
            {
                počet -= 10;
                ClientNetworkManager.sendPacketToServer(new SearchBooksPacket(textbox, searchType, 10, počet - 10));
                IPacket packet = ClientNetworkManager.pollSynchronizedPackets();
                switch (packet.getPacketID())
                {
                case Registry.packet_bookData:
                    return;

                case Registry.packet_readerData:
                    return;

                case Registry.packet_searchReplyBooks:
                    booksListBox.Items.Clear();
                    foreach (Book b in ((SearchBooksReplyPacket)packet).books)
                    {
                        booksListBox.Items.Add(b);
                    }
                    endOfList = false;
                    if (((SearchBooksReplyPacket)packet).books.Count() < 10)
                    {
                        endOfList = true;
                    }
                    return;

                case Registry.packet_searchReplyUsers:
                    return;
                }
            }
        }
        private void backListButton_Click(object sender, RoutedEventArgs e)
        {
            // zobrazí se předchozí packet/seznam/stránka
            if (počet >= 10)
            {
                ClientNetworkManager.sendPacketToServer(new SearchUsersPacket("", 0, 10, počet, true));
                IPacket packet = ClientNetworkManager.pollSynchronizedPackets();
                switch (packet.getPacketID())
                {
                case Registry.packet_bookData:
                    return;

                case Registry.packet_readerData:
                    return;

                case Registry.packet_searchReplyBooks:
                    return;

                case Registry.packet_searchReplyUsers:
                    readerListBox.Items.Clear();
                    foreach (Reader r in ((SearchUsersReplyPacket)packet).readers)
                    {
                        readerListBox.Items.Add(r);
                    }
                    počet -= 10;
                    return;
                }
            }
        }
        private void nextListButton_Click(object sender, RoutedEventArgs e)
        {
            // zobrazí se následující stránka
            ClientNetworkManager.sendPacketToServer(new SearchUsersPacket("", 0, 10, počet, true));
            IPacket packet = ClientNetworkManager.pollSynchronizedPackets();

            switch (packet.getPacketID())
            {
            case Registry.packet_bookData:
                return;

            case Registry.packet_readerData:
                return;

            case Registry.packet_searchReplyBooks:
                return;

            case Registry.packet_searchReplyUsers:
                readerListBox.Items.Clear();
                foreach (Reader r in ((SearchUsersReplyPacket)packet).readers)
                {
                    readerListBox.Items.Add(r);
                }
                if (((SearchUsersReplyPacket)packet).readers.Count() == 10)
                {
                    počet += 10;
                }
                return;
            }
        }
Пример #4
0
 private void saveButton_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         Reader r = new Reader();
         r.name          = nameTextBox.Text;
         r.address       = addressTextBox.Text;
         r.birthDate     = dateOfBirthDataPicker.SelectedDate.Value.Ticks;
         r.birthNumber   = birthNumberTextBox.Text;
         r.borrowedBooks = SharedInfo.currentlyEditingUser.borrowedBooks;
         r.reservedBooks = SharedInfo.currentlyEditingUser.reservedBooks;
         r.email         = emailTextBox.Text;
         r.ID            = SharedInfo.currentlyEditingUser.ID;
         if (changePassword)
         {
             r.password        = passwordTextBox.Text;
             r.changedPassword = true;
         }
         else
         {
             r.password = SharedInfo.currentlyEditingUser.password;
         }
         ClientNetworkManager.sendPacketToServer(new ModifyUserPacket(r, SharedInfo.currentlyEditingUser.ID));
         Close();
     }
     catch (Exception ex)
     {
         MessageBox.Show("Došlo k chybě, prosím zkontrolujte zadané údaje! Chyba: " + ex.Message, "Chyba", MessageBoxButton.OK, MessageBoxImage.Exclamation);
     }
 }
Пример #5
0
        private void backListButton_Click(object sender, RoutedEventArgs e)
        {
            // zobrazí se předchozí packet/seznam/stránka
            if (počet > 10) // zpět nemůžeme pokud jsme na začátku seznamu
            {
                počet -= 10;
                ClientNetworkManager.sendPacketToServer(new SearchBooksPacket(textbox, searchType, 10, počet - 10)); // dotaz po dalších knihách
                IPacket packet = ClientNetworkManager.pollSynchronizedPackets();                                     // odpověď
                switch (packet.getPacketID())
                {
                case Registry.packet_bookData:
                    return;

                case Registry.packet_readerData:
                    return;

                case Registry.packet_searchReplyBooks:                         // správná odpověď
                    booksListBox.Items.Clear();
                    foreach (Book b in ((SearchBooksReplyPacket)packet).books) // načtení do seznamu
                    {
                        booksListBox.Items.Add(b);
                    }
                    endOfList = false;
                    if (((SearchBooksReplyPacket)packet).books.Count() < 10)     // zjištění zda jsme na konci
                    {
                        endOfList = true;
                    }
                    return;

                case Registry.packet_searchReplyUsers:
                    return;
                }
            }
        }
 private void deleteReserveButton_Click(object sender, RoutedEventArgs e)
 {
     // Odstranění VŠECH rezervací, které dotyčný čtenář má (pokud jsme mu je popůjčovali, samy jsou odstraněny)
     if (readerListBox.SelectedItem != null)  // máme dotyčného označeného?
     {
         // ANO
         //Opravdu si přejeme je smazat?
         if (MessageBox.Show("Přejete si zrušit rezervaci(e) u " + readerListBox.SelectedItem.ToString(), "Dotaz", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
         {
             // Ano smažou se
             Reader r = readerListBox.SelectedItem as Reader;
             foreach (Book kniha in r.reservedBooks) // postupné smazání všech
             {
                 if (kniha != null)
                 {
                     Book b = kniha;
                     b.reserved   = false;
                     b.reservedBy = null;
                     ClientNetworkManager.sendPacketToServer(new ModifyBookPacket(kniha, b)); // musí se smazat vztahy pro každou knihu
                 }
             }
             r.reservedBooks = new Book[0];
             ClientNetworkManager.sendPacketToServer(new ModifyUserPacket(r, r.ID)); // smazání vztahu i pro čtenáře
         }
     }
 }
Пример #7
0
        private void nextListButton_Click(object sender, RoutedEventArgs e)
        {
            if (endOfList)
            {
                return;
            }
            // zobrazí se následující stránka
            ClientNetworkManager.sendPacketToServer(new SearchBooksPacket(textbox, searchType, 10, počet));
            IPacket packet = ClientNetworkManager.pollSynchronizedPackets();

            switch (packet.getPacketID())
            {
            case Registry.packet_bookData:
                return;

            case Registry.packet_readerData:
                return;

            case Registry.packet_searchReplyBooks:
                booksListBox.Items.Clear();
                foreach (Book b in ((SearchBooksReplyPacket)packet).books)
                {
                    booksListBox.Items.Add(b);
                }
                if (((SearchBooksReplyPacket)packet).books.Count() < 10)
                {
                    endOfList = true;
                }
                počet += 10;
                return;

            case Registry.packet_searchReplyUsers:
                return;
            }
        }
Пример #8
0
        private void LoginButton_Click(object sender, RoutedEventArgs e)
        {
            // Přihlášení do systému
            if (SharedInfo.ServerAddress == "localhost")
            {
                try
                {
                    SharedInfo.RememberOnIPAndPort();
                }
                catch
                {
                }
            }

            if (!ClientNetworkManager.connectToServer(new Address(SharedInfo.ServerAddress, SharedInfo.Port)))
            {
                MessageBox.Show("Nepodařilo se připojit k serveru", "Chyba", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            else
            {
                if (passwordBox.Password.Length == 0 || usernameTextBox.Text.Length == 0) //kontrola dat
                {
                    MessageBox.Show("Heslo nebo jméno nemůže být prázdné.", "Login", MessageBoxButton.OK, MessageBoxImage.Information);
                }
                else
                {
                    ClientNetworkManager.sendPacketToServer(new LoginDataPacket(usernameTextBox.Text, passwordBox.Password)); // data se pošlou serveru
                    ClientNetworkManager.pollSynchronizedPackets();                                                           // přijmeme data od serveru - vyhodnocení
                    switch (SharedInfo.userType)
                    {
                    case 1:     // Přihlášení bylo úspěšné jako čtenář
                        ClientScreenReaderMain newWindowR = new ClientScreenReaderMain();
                        newWindowR.Show();
                        windowClosing = true;
                        this.Close();
                        break;

                    case 2:     // Přihlášení bylo úspěšné jako knihovník
                        ClientScreenManagerMain newWindowA = new ClientScreenManagerMain();
                        newWindowA.Show();
                        windowClosing = true;
                        this.Close();
                        break;

                    case 3:
                        MessageBox.Show("Špatné heslo pro uživatele '" + usernameTextBox.Text + "'.", "Chyba", MessageBoxButton.OK, MessageBoxImage.Error);
                        break;

                    case 4:
                        MessageBox.Show("Uživatel '" + usernameTextBox.Text + "' neexistuje.", "Chyba", MessageBoxButton.OK, MessageBoxImage.Error);
                        break;

                    default:
                        MessageBox.Show("Neznámá chyba při přihašování.", "Chyba", MessageBoxButton.OK, MessageBoxImage.Error);
                        break;
                    }
                }
            }
        }
Пример #9
0
        private void deleteReserveButton_Click(object sender, RoutedEventArgs e)
        {
            // Pokud jsme si rezervaci rozmysleli, můžeme ji zde odstranit
            if (booksListBox.SelectedItem != null) // je nějaká kniha označená?
            {
                Book kniha = booksListBox.SelectedItem as Book;
                if (!SharedInfo.currentUser.reservedBooks.Contains(kniha)) // Máme ji opravdu rezervovanou MY?
                {
                    MessageBox.Show("Tato kniha není rezervována nebo není k dispozici nebo rezervace nepatří vám.", "Chyba", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }

                try
                {
                    // pro knihu
                    Book b = kniha;
                    b.reserved   = false;
                    b.reservedBy = null;
                    // pro uživatele
                    Reader r = new Reader();
                    r = SharedInfo.currentUser;
                    Book[] reserve;
                    // zrušení rezervace
                    try
                    {
                        reserve = new Book[r.reservedBooks.Count() - 1];
                        for (int i = 0, j = 0; i < r.reservedBooks.Count(); i++, j++)
                        {
                            if (r.reservedBooks[i] != kniha)
                            {
                                reserve[j] = r.reservedBooks[i];
                            }
                            else
                            {
                                j--;
                            }
                        }
                        r.reservedBooks = reserve;
                    }
                    catch
                    {
                        reserve = new Book[0];
                    }

                    // informování databáze
                    ClientNetworkManager.sendPacketToServer(new ModifyBookPacket(kniha, b));
                    ClientNetworkManager.sendPacketToServer(new ModifyUserPacket(r, SharedInfo.currentUser.ID));

                    MessageBox.Show("Rezervace odstraněna.", "Úspěch", MessageBoxButton.OK);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Chyba", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }
Пример #10
0
 private void deleteButton_Click(object sender, RoutedEventArgs e)
 {
     // smaže knihu z databáze
     try
     {
         ClientNetworkManager.sendPacketToServer(new DeleteBookPacket(booksListBox.SelectedItem as Book));
         booksListBox.Items.Remove((Book)booksListBox.SelectedItem);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "Chyba", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
Пример #11
0
        private void searchButton_Click(object sender, RoutedEventArgs e)
        {
            // vyhledáváme knihy podle určitého klíče a textu
            textbox = searchTextBox.Text;
            if (sortComboBox.SelectedItem.Equals("Žánr"))
            {
                searchType = 1;
            }
            else if (sortComboBox.SelectedItem.Equals("Autor"))
            {
                searchType = 2;
            }
            else if (sortComboBox.SelectedItem.Equals("ISBN"))
            {
                searchType = 3;
            }
            else
            {
                searchType = 0; // podle názvu
            }
            // pošleme s dotazem serveru
            ClientNetworkManager.sendPacketToServer(new SearchBooksPacket(textbox, searchType, 10, 0));
            IPacket packet = ClientNetworkManager.pollSynchronizedPackets(); // počkáme na odpověď

            switch (packet.getPacketID())                                    // jakého typu jsme obdrželi odpověď
            {
            case Registry.packet_bookData:
                return;

            case Registry.packet_readerData:
                return;

            case Registry.packet_searchReplyBooks:                         // správný typ
                booksListBox.Items.Clear();
                foreach (Book b in ((SearchBooksReplyPacket)packet).books) // načteme
                {
                    booksListBox.Items.Add(b);
                }
                počet     = 10; // počet knih, ikdyby jich bylo míň nijak to nevadí
                endOfList = false;
                if (((SearchBooksReplyPacket)packet).books.Count() < 10)
                {
                    endOfList = true;
                }
                return;

            case Registry.packet_searchReplyUsers:
                return;
            }
        }
Пример #12
0
        private void searchButton_Click(object sender, RoutedEventArgs e)
        {
            // bude vyhledáno podle našich kritérií
            textbox = searchTextBox.Text;
            if (sortComboBox.SelectedItem.Equals("Žánr"))
            {
                searchType = 1;
            }
            else if (sortComboBox.SelectedItem.Equals("Autor"))
            {
                searchType = 2;
            }
            else if (sortComboBox.SelectedItem.Equals("ISBN"))
            {
                searchType = 3;
            }
            else
            {
                searchType = 0;
            }
            ClientNetworkManager.sendPacketToServer(new SearchBooksPacket(textbox, searchType, 10, 0));
            IPacket packet = ClientNetworkManager.pollSynchronizedPackets();

            switch (packet.getPacketID()) // zkontrolujeme zda byl dodán správný packet/správná data
            {
            case Registry.packet_bookData:
                return;

            case Registry.packet_readerData:
                return;

            case Registry.packet_searchReplyBooks:     // byly správná a zobrazí se v listboxu
                booksListBox.Items.Clear();
                foreach (Book b in ((SearchBooksReplyPacket)packet).books)
                {
                    booksListBox.Items.Add(b);
                }
                počet     = 10;
                endOfList = false;
                if (((SearchBooksReplyPacket)packet).books.Count() < 10)     // zjistí zda bylo už ukázáno všechno z výběru
                {
                    endOfList = true;
                }
                return;

            case Registry.packet_searchReplyUsers:
                return;
            }
        }
Пример #13
0
        private void searchButton_Click(object sender, RoutedEventArgs e)
        {
            // hledání knih podle zadaných kritérií
            textbox = searchTextBox.Text;
            if (sortComboBox.SelectedItem.Equals("Žánr"))
            {
                searchType = 1;
            }
            else if (sortComboBox.SelectedItem.Equals("Autor"))
            {
                searchType = 2;
            }
            else if (sortComboBox.SelectedItem.Equals("ISBN"))
            {
                searchType = 3;
            }
            else
            {
                searchType = 0;                                                                         // podle názvu
            }
            ClientNetworkManager.sendPacketToServer(new SearchBooksPacket(textbox, searchType, 10, 0)); // požadavek pošleme serveru
            IPacket packet = ClientNetworkManager.pollSynchronizedPackets();                            // počkáme na odpověď

            switch (packet.getPacketID())                                                               // kterého typu přišla odpověď?
            {
            case Registry.packet_bookData:
                return;

            case Registry.packet_readerData:
                return;

            case Registry.packet_searchReplyBooks:                         // dostali jsme správný typ odpovědi a zpracujeme
                booksListBox.Items.Clear();
                foreach (Book b in ((SearchBooksReplyPacket)packet).books) // synchronizujeme se seznamem
                {
                    booksListBox.Items.Add(b);
                }
                počet     = 10;
                endOfList = false;
                if (((SearchBooksReplyPacket)packet).books.Count() < 10)     // zobrazili jsme všechny?
                {
                    endOfList = true;
                }
                return;

            case Registry.packet_searchReplyUsers:
                return;
            }
        }
Пример #14
0
        private void saveButton_Click(object sender, RoutedEventArgs e)
        {
            // vytvoří se kniha ze zadaných údajů a poté odešle serveru, který ji uloží do databáze
            Book book = new Book();

            book.name          = nameTextBox.Text;
            book.author        = authorTextBox.Text;
            book.genre         = genreTextBox.Text;
            book.datePublished = dateOfPublishingTextBox.SelectedDate.Value.Ticks;
            book.pages         = Convert.ToInt32(amountOfPagesTextBox.Text);
            book.ISBN          = ISBNTextBox.Text;

            ClientNetworkManager.sendPacketToServer(new AddBookPacket(book));
            MessageBox.Show("Hotovo", "informace o stavu", MessageBoxButton.OK, MessageBoxImage.Information);
            Close();
        }
        private void borrowBook_Click(object sender, RoutedEventArgs e)
        {
            if (booksListBox.SelectedItem != null)
            {
                Book b = (Book)booksListBox.SelectedItem;
                if (b.borrowed || (b.reserved && b.reservedBy != SharedInfo.currentlyEditingUser.ID)) //kontrola zda si ji může půjčit
                {
                    MessageBox.Show("Kniha je vypůjčená nebo rezervována jiným čtenářem.", "Varování", MessageBoxButton.OK, MessageBoxImage.Warning);
                    return;
                }
                // Změny pro knihu
                Book n = b;
                n.reserved   = false;
                n.reservedBy = null;
                n.borrowed   = true;
                n.borrowedBy = SharedInfo.currentlyEditingUser.ID;
                // Změny pro uživatele
                Reader r = SharedInfo.currentlyEditingUser;
                if (ObsahujeKnihu(r.reservedBooks, b)) // pokud ji má uživatel reservovanou smaže se z jeho rezervace
                {
                    Book[] reserve = new Book[r.reservedBooks.Count() - 1];
                    for (int i = 0, j = 0; i < r.reservedBooks.Count(); i++, j++)
                    {
                        if (r.reservedBooks[i] != b)
                        {
                            reserve[j] = r.reservedBooks[i];
                        }
                        else
                        {
                            j--;
                        }
                    }
                    r.reservedBooks = reserve;
                }
                // přidáme knihu do vypůjčených pole je statické proto takto
                Book[] borrow = new Book[r.borrowedBooks.Count() + 1];
                Array.Copy(r.borrowedBooks, borrow, r.reservedBooks.Count());
                borrow[r.reservedBooks.Count()] = b;
                r.borrowedBooks = borrow;
                // odešle se serveru
                ClientNetworkManager.sendPacketToServer(new ModifyBookPacket(b, n));
                ClientNetworkManager.sendPacketToServer(new ModifyUserPacket(r, SharedInfo.currentlyEditingUser.ID));

                MessageBox.Show("Úspěšně vypůjčeno", "Úspěch", MessageBoxButton.OK);
            }
        }
        private void saveButton_Click(object sender, RoutedEventArgs e)
        {
            Book book = new Book();

            book.name          = nameTextBox.Text;
            book.author        = authorTextBox.Text;
            book.genre         = genreTextBox.Text;
            book.datePublished = dateOfPublishingTextBox.SelectedDate.Value.Ticks;
            book.pages         = Convert.ToInt32(amountOfPagesTextBox.Text);
            book.ISBN          = ISBNTextBox.Text;
            book.borrowed      = (bool)YesRadioButton.IsChecked;
            if (book.borrowed)
            {
                book.borrowedBy = SharedInfo.currentlyEditingBook.borrowedBy;
            }

            ClientNetworkManager.sendPacketToServer(new ModifyBookPacket(SharedInfo.currentlyEditingBook, book));
        }
        private void returnBookButton_Click(object sender, RoutedEventArgs e)
        {
            // Vrátí knihu a smažeji ze seznamu vypůjčených
            if (booksListBox.SelectedItem != null) // zda je nějaká kniha zmáčknuta
            {
                Book kniha = booksListBox.SelectedItem as Book;

                // pro knihu
                Book b = kniha;
                b.borrowed   = false;
                b.borrowedBy = null;
                // pro uživatele
                Reader r = new Reader();
                r = SharedInfo.currentlyEditingUser;
                Book[] borrow;
                // samotné odstranění od uživatele
                try
                {
                    borrow = new Book[r.borrowedBooks.Count() - 1];
                    for (int i = 0, j = 0; i < r.borrowedBooks.Count(); i++, j++)
                    {
                        if (r.borrowedBooks[i] != kniha)
                        {
                            borrow[j] = r.borrowedBooks[i];
                        }
                        else
                        {
                            j--;
                        }
                    }
                }
                catch
                {
                    borrow = new Book[0];
                }
                r.borrowedBooks = borrow;

                // informování databáze o změnách
                ClientNetworkManager.sendPacketToServer(new ModifyBookPacket(kniha, b));
                ClientNetworkManager.sendPacketToServer(new ModifyUserPacket(r, SharedInfo.currentlyEditingUser.ID));

                MessageBox.Show("Hotovo", "Informace o stavu", MessageBoxButton.OK, MessageBoxImage.Information);
            }
        }
        private void deleteButton_Click(object sender, RoutedEventArgs e)
        {
            // můžeme knihovníka i smazat, pokud už zde nepracuje
            if (readerListBox.SelectedItem != null)
            {
                string name = readerListBox.SelectedItem.ToString();

                if (MessageBox.Show("Přejete si vymazat " + name + "?", "Dotaz", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
                {
                    ClientNetworkManager.sendPacketToServer(new DeleteUserPacket(readerListBox.SelectedItem as Reader));
                    MessageBox.Show("Hotovo!", "Úspěch", MessageBoxButton.OK, MessageBoxImage.Information);
                    readerListBox.Items.Remove(readerListBox.SelectedItem as Reader);
                }
            }
            else
            {
                MessageBox.Show("Nebyl vybrán žádný čtenář!", "Upozornění", MessageBoxButton.OK, MessageBoxImage.Exclamation);
            }
        }
Пример #19
0
        private void reserveButton_Click(object sender, RoutedEventArgs e)
        {
            // rezervujeme si knihu pro pozdější vypůjčení
            if (booksListBox.SelectedItem != null) // označili jsme nějakou knihu?
            {
                Book kniha = booksListBox.SelectedItem as Book;
                if (kniha.reserved || kniha.borrowed) // není kniha už rezervována nebo půjčena?
                {
                    MessageBox.Show("Kniha je už rezervována nebo půjčená, zkuste to prosím později.", "Upozornění", MessageBoxButton.OK, MessageBoxImage.Asterisk);
                    return;
                }

                string message = "Přejete si zarezervovat " + kniha + "?";

                // Dotaz zda si ji chci opravdu rezervovat
                if (MessageBox.Show(message, "Dotaz", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
                {
                    // změny pro knihu
                    Book b = kniha;
                    b.reserved   = true;
                    b.reservedBy = SharedInfo.currentUser.ID;
                    // změny pro uživatele
                    Reader r = new Reader();
                    r = SharedInfo.currentUser;
                    Book[] reserve = new Book[r.reservedBooks.Count() + 1];
                    Array.Copy(r.reservedBooks, reserve, r.reservedBooks.Count());
                    reserve[r.reservedBooks.Count()] = b;
                    r.reservedBooks = reserve;

                    // musí se upravit vztahy jak pro knihu tak pro čtenáře
                    ClientNetworkManager.sendPacketToServer(new ModifyBookPacket(kniha, b));
                    ClientNetworkManager.sendPacketToServer(new ModifyUserPacket(r, SharedInfo.currentUser.ID));

                    booksListBox.Items.Remove(kniha); // odstraníme ji a přidáme aktualizovanou
                    booksListBox.Items.Add(b);
                    SharedInfo.currentUser = r;

                    MessageBox.Show("Kniha byla úspěšně zarezervována, vyzvědněte si ji v knihovně.",
                                    "Informace", MessageBoxButton.OK, MessageBoxImage.Information);
                }
            }
        }
        private void deleteButton_Click(object sender, RoutedEventArgs e)
        {
            // smažeme čtenáře
            if (readerListBox.SelectedItem != null) // označili jsme nějakého čtenáře, kterého chceme smazat?
            {
                string name = readerListBox.SelectedItem.ToString();

                // opravdu ho chceme smazat?
                if (MessageBox.Show("Přejete si vymazat " + name + "?", "Dotaz", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
                {
                    // ano
                    ClientNetworkManager.sendPacketToServer(new DeleteUserPacket(readerListBox.SelectedItem as Reader));
                    MessageBox.Show("Hotovo!", "Úspěch", MessageBoxButton.OK, MessageBoxImage.Information);
                    readerListBox.Items.Remove(readerListBox.SelectedItem as Reader);
                }
            }
            else // nikoho jsme neoznačili
            {
                MessageBox.Show("Nebyl vybrán žádný čtenář!", "Upozornění", MessageBoxButton.OK, MessageBoxImage.Exclamation);
            }
        }
        private void searchButton_Click(object sender, RoutedEventArgs e)
        {
            byte searchType = 0; // přiřadíme, který způsob hledání jsme dali (výchozí je název)

            if (sortComboBox.SelectedItem.Equals("Žánr"))
            {
                searchType = 1;
            }
            else if (sortComboBox.SelectedItem.Equals("Autor"))
            {
                searchType = 2;
            }
            else if (sortComboBox.SelectedItem.Equals("ISBN"))
            {
                searchType = 3;
            }
            // pošle se serveru s požadavkem na výsledky podle zadaného kritéria a následně zobrazí v listBoxu
            ClientNetworkManager.sendPacketToServer(new SearchBooksPacket(searchTextBox.Text, searchType, 5, 0));
            IPacket packet = ClientNetworkManager.pollSynchronizedPackets();

            switch (packet.getPacketID())
            {
            case Registry.packet_bookData:
                return;

            case Registry.packet_readerData:
                return;

            case Registry.packet_searchReplyBooks:
                booksListBox.Items.Clear();
                foreach (Book b in ((SearchBooksReplyPacket)packet).books)
                {
                    booksListBox.Items.Add(b);
                }
                return;

            case Registry.packet_searchReplyUsers:
                return;
            }
        }
        private void searchButton_Click(object sender, RoutedEventArgs e)
        {
            // hledáme čtenáře v databázi, vyhovující našim kritériům
            byte searchType = 0; // podle jména

            if (sortComboBox.SelectedItem.Equals("Rodné číslo"))
            {
                searchType = 1;
            }
            else if (sortComboBox.SelectedItem.Equals("Email"))
            {
                searchType = 2;
            }
            ClientNetworkManager.sendPacketToServer(new SearchUsersPacket(searchTextBox.Text, searchType, 5, 0, false)); // dotaz pro server
            IPacket packet = ClientNetworkManager.pollSynchronizedPackets();                                             // odpověď

            switch (packet.getPacketID())                                                                                // jakého typu je odpověď
            {
            case Registry.packet_bookData:
                return;

            case Registry.packet_readerData:
                return;

            case Registry.packet_searchReplyBooks:
                return;

            case Registry.packet_searchReplyUsers:                             // správný typ
                readerListBox.Items.Clear();
                foreach (Reader r in ((SearchUsersReplyPacket)packet).readers) // načteme do seznamu
                {
                    readerListBox.Items.Add(r);
                }
                return;
            }
        }
Пример #23
0
        private void nextListButton_Click(object sender, RoutedEventArgs e)
        {
            // zjistíme zda jsme na konci
            if (endOfList)
            {
                return;
            }
            // zobrazí se následující stránka
            ClientNetworkManager.sendPacketToServer(new SearchBooksPacket(textbox, searchType, 10, počet)); // pošleme svůj požadavek na další
            IPacket packet = ClientNetworkManager.pollSynchronizedPackets();                                // dostáváme odpověď

            switch (packet.getPacketID())                                                                   // jakého je typu?
            {
            case Registry.packet_bookData:
                return;

            case Registry.packet_readerData:
                return;

            case Registry.packet_searchReplyBooks:                         // správný typ
                booksListBox.Items.Clear();
                foreach (Book b in ((SearchBooksReplyPacket)packet).books) // načteme do seznamu
                {
                    booksListBox.Items.Add(b);
                }
                if (((SearchBooksReplyPacket)packet).books.Count() < 10)     // je to konec?
                {
                    endOfList = true;
                }
                počet += 10;
                return;

            case Registry.packet_searchReplyUsers:
                return;
            }
        }
        private void searchButton_Click(object sender, RoutedEventArgs e)
        {
            // princip hledání je u všech stejný, zjistí se podle čeho a následně vyhodnotí
            byte searchType = 0;

            if (sortComboBox.SelectedItem.Equals("Rodné číslo"))
            {
                searchType = 1;
            }
            else if (sortComboBox.SelectedItem.Equals("Email"))
            {
                searchType = 2;
            }
            ClientNetworkManager.sendPacketToServer(new SearchUsersPacket(searchTextBox.Text, searchType, 5, 0, true));
            IPacket packet = ClientNetworkManager.pollSynchronizedPackets(); // počkáme na odpověď

            switch (packet.getPacketID())
            {
            case Registry.packet_bookData:
                return;

            case Registry.packet_readerData:
                return;

            case Registry.packet_searchReplyBooks:
                return;

            case Registry.packet_searchReplyUsers:     // dostali jsme správná data
                readerListBox.Items.Clear();
                foreach (Reader r in ((SearchUsersReplyPacket)packet).readers)
                {
                    readerListBox.Items.Add(r);
                }
                return;
            }
        }
Пример #25
0
 private void saveButton_Click(object sender, RoutedEventArgs e)
 {
     // vytvoří čtenáře, kterého pošleme serveru a ten do databáze;
     // pokud určitě části nejsou vyplněné nebo špatně vyhodí to běhovou chybu
     try
     {
         Reader r = new Reader();
         r.name          = nameTextBox.Text;
         r.address       = addressTextBox.Text;
         r.birthDate     = dateOfBirthDataPicker.SelectedDate.Value.Ticks;
         r.birthNumber   = birthNumberTextBox.Text;
         r.borrowedBooks = new Book[0];
         r.reservedBooks = new Book[0];
         r.email         = emailTextBox.Text;
         r.password      = passwordTextBox.Text;
         r.administrator = SharedInfo.admin;
         ClientNetworkManager.sendPacketToServer(new AddUserPacket(r));
         Close();
     }
     catch (Exception ex)
     {
         MessageBox.Show("Došlo k chybě, prosím zkontrolujte zadané údaje! Chyba: " + ex.Message, "Chyba", MessageBoxButton.OK, MessageBoxImage.Exclamation);
     }
 }