private void DeleteCopiesButton_Click(object sender, EventArgs e) { if (BooksListBox.CheckedItems.Count == 0) { var selectError = new ErrorForm("You must select a book to delete copies!"); selectError.ShowDialog(); return; } if (string.IsNullOrWhiteSpace(NumberOfCopiesToDeleteTextBox.Text)) { return; } var selected = BooksListBox.SelectedItem.ToString(); var deletedAllAvailableCopies = false; for (var i = 0; i < int.Parse(NumberOfCopiesToDeleteTextBox.Text); i++) { var copyToDelete = _bookCopyRepository.GetAllBookCopies().FirstOrDefault(bookCopy => bookCopy.Book.ToString() == selected && bookCopy.Status == BookStatus.Available); if (copyToDelete == null) { deletedAllAvailableCopies = true; break; } _bookCopyRepository.TryDelete(copyToDelete); } if (_bookCopyRepository.GetAllBookCopies().FirstOrDefault(bookCopy => bookCopy.Book.ToString() == selected) == null) { _bookRepository = new BookRepository(); _bookCopyRepository = new BookCopyRepository(); var checkedBook = _bookRepository.GetAllBooks() .FirstOrDefault(book => book.ToString() == selected); _bookRepository.TryDelete(checkedBook); } else if (deletedAllAvailableCopies) { var borrowedError = new ErrorForm("Borrowed copies cannot be deleted until returned!"); borrowedError.ShowDialog(); } NumberOfCopiesToDeleteTextBox.Text = ""; RefreshBookInfoListBox(); RefreshBooksListBox(); }