Ejemplo n.º 1
0
        //Return a book
        private void ReturnBookButton_Click(object sender, RoutedEventArgs e)
        {
            var status = BookDataProvider.ReturnBook(_selectedBook, _selectedPerson, false);

            switch (status)
            {
            //Show error message.
            case null: MessageBox.Show("Az alábbi könyvet nem szolgáltathatja vissza az olvasó, mivel nem ő bérelte ki!",
                                       "Rossz adatok!",
                                       MessageBoxButtons.OK,
                                       MessageBoxIcon.Error);
                break;

            case false:
                //Ask for permission.
                var result = MessageBox.Show("Az alábbi könyvet késedelmi, vagy más büntetési díj megfizetése terheli! " +
                                             "Amennyiben ezt már a felhasználó megtette, akkor az igen gomb megnyomásával végérvényesítheti a könyv visszaszolgáltatásának folyamatát." +
                                             "\n\nKifizette a felhasználó a díjat? ",
                                             "Büntetés kifizetése kötelező !",
                                             MessageBoxButtons.YesNo,
                                             MessageBoxIcon.Question);
                //Save if allowed
                if (result == System.Windows.Forms.DialogResult.Yes)
                {
                    BookDataProvider.ReturnBook(_selectedBook, _selectedPerson, true);
                    goto default;
                }
                else
                {
                    break;
                }

            default:
                //Show success message.
                MessageBox.Show("A könyv sikeresen visszavéve!",
                                "Sikeres könyvleadás!",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Asterisk);
                //Update the archivated borrowing data.
                ArchiveData save = ArchiveDataProvider.GetSpecificData(_selectedBook.Id, _selectedPerson.Id);
                save.ReturnedAt = DateTime.Now;
                LibraryDataProvider.UpdateData <ArchiveData>(LibraryDataProvider.archiveUrl, save, save.Id);
                //Update the view.
                UpdateBooks();
                break;
            }
        }