Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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);
        }