public IActionResult Delete(int id) { Reader reader = _readerRepository.GetById(id); if (reader != null) { _readerRepository.Delete(reader); } return(RedirectToAction("List")); }
public void Delete(int id) { if (id == null) { throw new ArgumentNullException(nameof(id)); } var reader = _readerRepository.GetById(id); if (reader is null) { throw new Exception("Reader not found"); } _readerRepository.Update(reader); }
public async Task GetMyBooksTest() { var user = readerRepository.GetById(1); var books = await bookService.GetAvailableBooks(); foreach (var book in books) { bookService.GiveBook(book.Id, user.Id); } user = readerRepository.GetById(1); Assert.AreEqual(books.Count(), user.Books.Count); bookService.AcceptBook(1, user.Id); books = readerService.GetTakenBooks(user.Id); Assert.AreEqual(1, books.Count()); }
public void AcceptBook(int bookId, int userId) { var book = _bookRepository.GetById(bookId); if (book == null) { throw new NotFoundException(nameof(Book)); } var user = _readerRepository.GetById(userId); if (user == null) { throw new NotFoundException(nameof(Reader)); } _readerRepository.DeleteBook(user, book); book.Available++; _bookRepository.Update(book); }
public IActionResult MyBooks(int id) { var reader = _readerRepository.GetById(id); if (reader == null) { return(NotFound()); } var takenBooks = _readerService.GetTakenBooks(id); return(View(_mapper.Map <IEnumerable <BookViewModel> >(takenBooks))); }
public void GiveBookTest() { var user = readerRepository.GetById(1); Assert.NotNull(user); Assert.Zero(user.Books.Count); var book = bookRepository.GetById(1); Assert.NotNull(book); Assert.Zero(book.Readers.Count); int availableBefore = book.Available; Assert.DoesNotThrow(() => bookService.GiveBook(book.Id, user.Id)); Assert.Throws(typeof(AlreadyHasBookException), () => bookService.GiveBook(book.Id, user.Id)); book = bookRepository.GetById(book.Id); Assert.AreEqual(availableBefore - 1, book.Available); Assert.AreEqual(1, book.Readers.Count); user = readerRepository.GetById(user.Id); Assert.AreEqual(1, user.Books.Count); }
public ReaderViewModel GetReaderById(Guid id) { var readerVm = _mapper.Map <ReaderViewModel>(_readerRepository.GetById(id)); return(readerVm); }
public IEnumerable <Book> GetTakenBooks(int userId) { var reader = _repository.GetById(userId); return(reader.Books.Select(br => br.Book).ToList()); }