public async Task <IActionResult> UpdateTvSeriesRating(int ratingId, [FromBody] UpdateTvSeriesRatingBindingModel tvSeriesRatingBindingModel) { var user = User.Identity.Name; var result = await _ratingService.UpdateTvSeriesUserRating(user, ratingId, tvSeriesRatingBindingModel); if (result.ErrorOccurred) { return(BadRequest(result)); } return(Ok(result)); }
public async Task <ResponseDto <BaseModelDto> > UpdateTvSeriesUserRating(string userLogged, int ratingId, UpdateTvSeriesRatingBindingModel tvSeriesRatingBindingModel) { var response = new ResponseDto <BaseModelDto>(); var ratingExists = await _tvSeriesUserRatingRepository.ExistAsync(x => x.Id == ratingId); if (!ratingExists) { response.AddError(Model.Rating, Error.rating_NotFound); return(response); } var rating = await _tvSeriesUserRatingRepository.GetByAsync(x => x.Id == ratingId); if (rating.UserId != userLogged) { response.AddError(Model.Rating, Error.rating_User_Not_Assigned); return(response); } rating.Story = tvSeriesRatingBindingModel.Story; rating.Effects = tvSeriesRatingBindingModel.Effects; rating.Music = tvSeriesRatingBindingModel.Music; rating.Average = (tvSeriesRatingBindingModel.Story + tvSeriesRatingBindingModel.Effects + tvSeriesRatingBindingModel.Music) / 3; var result = await _tvSeriesUserRatingRepository.UpdateAsync(rating); if (!result) { response.AddError(Model.Rating, Error.rating_Updating); return(response); } response = await AddTvSeriesRating(rating, response); return(response); }