public async Task <Unit> Handle(MakeBookAvailableCommand request, CancellationToken cancellationToken) { AvailableBook entity = new AvailableBook() { Id = request.BookId }; await _dbContext.AvailableBooks.AddAsync(entity, cancellationToken); await _dbContext.SaveChangesAsync(cancellationToken); return(Unit.Value); }
public virtual ReservedBook reserve(AvailableBook availableBook) { if (hasUserNotReachedLimitOfBooks()) { ReservedBook reservedBook = new ReservedBook() { Id = availableBook.Id, AssignedUserId = availableBook.UserId }; reservedBooks.Add(reservedBook); return(reservedBook); } else { throw new TooManyBooksAssignedToUserException(id); } }