Example #1
0
        public async Task <SetBookRateResult> Handle(SetBookRateCommand request, CancellationToken cancellationToken)
        {
            using (var uow = _unitOfWorkFactory.Create())
            {
                var user = await uow.Users.GetByIdAsync(request.UserId, cancellationToken);

                var book = await uow.Books.GetByIdAsync(request.BookId, cancellationToken);

                book.SetRate(_entityFactory.CreateBookRate(user, request.Rate));

                await uow.Books.UpdateAsync(book, cancellationToken);

                return(new SetBookRateResult {
                    Id = book.Id, Rate = book.Rate.Value
                });
            }
        }
Example #2
0
 public static BookRate ToRate(this BookRateEntity entity, IEntityFactory entityFactory)
 {
     return(entityFactory.CreateBookRate(entity.Id, entity.User.ToUser(entityFactory), entity.Rate));
 }