Пример #1
0
        public RatingResultModel AddRating(RatingModel ratingModel)
        {
            var userRating        = _unitOfWork.RatingRepository.GetQueryableAll().FirstOrDefault(r => r.User.Id == ratingModel.UserId && r.Movie.Id == ratingModel.MovieId);
            var ratingResultModel = new RatingResultModel();

            if (userRating != null)
            {
                ratingResultModel.Errors = new List <string> {
                    "You can't rate again"
                };

                return(ratingResultModel);
            }

            var rating = _mapper.Map <RatingModel, Rating>(ratingModel);

            rating.User  = _unitOfWork.UserRepository.GetById(ratingModel.UserId);
            rating.Movie = _unitOfWork.MovieRepository.GetById(ratingModel.MovieId);

            _unitOfWork.RatingRepository.Insert(rating);
            _unitOfWork.Commit();

            _movieService.UpdateMovieRating(rating.Movie.Id);

            return(ratingResultModel);
        }
Пример #2
0
        public RatingResultModel GetUserRating(int userId, int movieId)
        {
            var rating = _unitOfWork.RatingRepository.GetQueryableAll().FirstOrDefault(r => r.User.Id == userId && r.Movie.Id == movieId);
            var movie  = _unitOfWork.MovieRepository.GetById(movieId);
            RatingResultModel ratingResultModel;

            if (rating != null && movie != null)
            {
                ratingResultModel = _mapper.Map <Rating, RatingResultModel>(rating);
                ratingResultModel.AlreadyRated = true;

                return(ratingResultModel);
            }

            ratingResultModel = new RatingResultModel {
                AlreadyRated = false
            };

            return(ratingResultModel);
        }
Пример #3
0
 public async Task <bool> UpdateRatingResult(RatingResultModel input)
 {
     return(await _leaguerService.UpdateRatingResult(input));
 }
Пример #4
0
 public async Task <int> AddRatingResult(RatingResultModel input)
 {
     return(await _leaguerService.AddRatingResult(input));
 }