예제 #1
0
        public async Task AddOrUpdateReviewAsync(AddReviewEpisodeModel addReviewModel, string userId)
        {
            IQueryable <ReviewEpisode> qr = _mySerialListDBContext.EpisodeReviews
                                            .Where(r => r.UserId == userId)
                                            .Where(r => r.EpisodeId == addReviewModel.EpisodeId);

            if (await qr.AnyAsync())
            {
                ReviewEpisode model = await qr.FirstAsync();

                model.Grade = addReviewModel.Grade;
                _mySerialListDBContext.EpisodeReviews.Update(model);
            }
            else
            {
                await _mySerialListDBContext.EpisodeReviews.AddAsync(new ReviewEpisode
                {
                    EpisodeId = addReviewModel.EpisodeId,
                    Grade     = addReviewModel.Grade,
                    UserId    = userId
                });
            }

            await _mySerialListDBContext.SaveChangesAsync();
        }
        public async Task AddOrUpdateReviewAsync(AddReviewEpisodeModel addReviewModel, string userId)
        {
            await CheckEpisodeExist(addReviewModel.EpisodeId);

            if (!await _userEpisodeRepository.IsEisodeAddedAsync(addReviewModel.EpisodeId, userId))
            {
                throw new HttpStatusCodeException(HttpStatusCode.BadRequest, "Dodaj odcinek do listy aby móc go ocenić");
            }
            await _reviewEpisodeRepository.AddOrUpdateReviewAsync(addReviewModel, userId);
        }
예제 #3
0
        public async Task <ActionResult> AddOrUpdateReviewAsync([FromBody] AddReviewEpisodeModel addReviewModel)
        {
            await _reviewEpisodeService.AddOrUpdateReviewAsync(addReviewModel, User.Identity.Name);

            return(Ok());
        }