Exemple #1
0
        public RateResponseDto Update(int postId, RateRequestDto request)
        {
            var userRate = GetUserRate(postId);

            if (userRate == null)
            {
                throw new ResourceNotFoundException("Rate");
            }

            userRate.Value = request.Value;
            _db.SaveChanges();

            _userActivityService.Track($"Updated rate on post({postId}): {userRate.Value}");

            return(_mapper.Map <RateResponseDto>(userRate));
        }
Exemple #2
0
        public RateResponseDto Create(int postId, RateRequestDto request)
        {
            var userId   = _userService.GetCurrentUserId();
            var userRate = GetUserRate(postId);

            if (userRate != null)
            {
                throw new HttpException(HttpStatusCode.UnprocessableEntity, "You have already reated this post.");
            }

            var rate = new Rate
            {
                Value  = request.Value,
                PostId = postId,
                UserId = userId
            };

            _db.Rates.Add(rate);
            _db.SaveChanges();

            _userActivityService.Track($"Created rate on post({postId}): {rate.Value}");

            return(_mapper.Map <RateResponseDto>(rate));
        }
Exemple #3
0
 public RateResponseDto Put(int postId, [FromBody] RateRequestDto request)
 {
     return(_rateService.Update(postId, request));
 }