private async Task <Result> CreateRating(RateTourCommand request) { var userExistenceResult = await _userReadonlyRepository.CheckExistence(request.UserId); if (userExistenceResult.Failure) { return(userExistenceResult); } var tourExistenceResult = await _tourReadonlyRepository.CheckExistence(request.TourId); if (tourExistenceResult.Failure) { return(tourExistenceResult); } var rating = _mapper.Map <RateTourCommand, Rating>(request); await _ratingRepository.AddAsync(rating); await _unitOfWork.CommitAsync(); return(Result.Ok()); }