public void bookUpdated(int bookId, int newQuantity) { BookQuantityDTO bookQuantityDto = new BookQuantityDTO(bookId, newQuantity); LibraryUserEventArgs libraryUserEventArgs = new LibraryUserEventArgs(LibraryUserEvent.BookUpdated, bookQuantityDto); Console.WriteLine("Book updated"); OnUserEvent(libraryUserEventArgs); }
public void userUpdate(object sender, LibraryUserEventArgs e) { if (e.UserEventType == LibraryUserEvent.BookUpdated) { BookQuantityDTO bookQuantityDto = (BookQuantityDTO)e.Data; Book updated = null; foreach (Book availableBook in availableBooks) { if (availableBook.Id == bookQuantityDto.BookId) { updated = availableBook; } } if (bookQuantityDto.NewQuantity == 0) { availableBooks.Remove(updated); } else { updated.Available = bookQuantityDto.NewQuantity; } availableBooksList.DataSource = null; availableBooksList.DataSource = availableBooks; } if (e.UserEventType == LibraryUserEvent.BookReturned) { BookDTO bookDto = (BookDTO)e.Data; Book returnedAvailable = null; foreach (Book availableBook in availableBooks) { if (availableBook.Id == bookDto.Id) { returnedAvailable = availableBook; } } if (returnedAvailable == null) { returnedAvailable = new Book(bookDto.Id, bookDto.Author, bookDto.Title, 1); availableBooks.Add(returnedAvailable); } else { returnedAvailable.Available++; } Book returnedUser = null; foreach (Book userBook in userBooks) { if (userBook.Id == bookDto.Id) { returnedUser = userBook; } } userBooks.Remove(returnedUser); userBooksList.DataSource = null; userBooksList.DataSource = userBooks; availableBooksList.DataSource = null; availableBooksList.DataSource = availableBooks; } }