Exemple #1
0
        public async Task <long> Handle(BookReservationCommand request, CancellationToken cancellationToken)
        {
            ReservedBook entity = new ReservedBook
            {
                Id             = request.bookId,
                AssignedUserId = request.userId
            };

            await _dbContext.ReservedBookss.AddAsync(entity, cancellationToken);

            await _dbContext.SaveChangesAsync(cancellationToken);

            return(entity.Id);
        }
Exemple #2
0
 public virtual BorrowedBook borrow(ReservedBook reservedBook)
 {
     if (hasUserNotReachedLimitOfBooks())
     {
         BorrowedBook borrowedBook = new BorrowedBook()
         {
             Id     = reservedBook.Id,
             UserId = reservedBook.AssignedUserId
         };
         borrowedBooks.Add(borrowedBook);
         return(borrowedBook);
     }
     else
     {
         throw new TooManyBooksAssignedToUserException(id);
     }
 }
Exemple #3
0
 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);
     }
 }