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());
        }