public async Task <ActionResult <RatingResponseModel> > Post(RatingInputModel input) { var userId = this.userManager.GetUserId(this.User); var ratingResponseModel = new RatingResponseModel(); if (userId == null) { ratingResponseModel.AuthenticationErrorMessage = "Please log in in order to vote."; ratingResponseModel.Rating = this.ratingsService.GetRating(input.ProjectId); return(ratingResponseModel); } if (input.Rate < 1 || input.Rate > 5) { ratingResponseModel.Rating = this.ratingsService.GetRating(input.ProjectId); return(ratingResponseModel); } await this.ratingsService.RateAsync(input.ProjectId, userId, input.Rate); ratingResponseModel.Rating = this.ratingsService.GetRating(input.ProjectId); return(ratingResponseModel); }
public async Task <RatingResponseModel> GetRating(int id) { var productRating = await this.ratingsService.GetProductAverageRating(id); var response = new RatingResponseModel { Rating = productRating, }; return(response); }
public async Task <ActionResult <RatingResponseModel> > Post(RatingInputModel input) { var userId = this.User.FindFirst(ClaimTypes.NameIdentifier).Value; await this.reviewService.CreateRating(input.MediaId, userId, input.Value); var ratingService = await this.reviewService.GetRatingAverageCount(input.MediaId); var average = ratingService.Item1; var count = ratingService.Item2; var response = new RatingResponseModel() { TotalVotes = count, AverageVote = average, }; return(response); }