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); }
public async Task <ActionResult> AddOrUpdateReviewAsync([FromBody] AddReviewEpisodeModel addReviewModel) { await _reviewEpisodeService.AddOrUpdateReviewAsync(addReviewModel, User.Identity.Name); return(Ok()); }