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)); }
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)); }
public RateResponseDto Put(int postId, [FromBody] RateRequestDto request) { return(_rateService.Update(postId, request)); }