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 }); } }
public static BookRate ToRate(this BookRateEntity entity, IEntityFactory entityFactory) { return(entityFactory.CreateBookRate(entity.Id, entity.User.ToUser(entityFactory), entity.Rate)); }