コード例 #1
0
        public ReviewBook PutReview(ReviewBook reviewBook)
        {
            var _userId = User.FindFirstValue(ClaimTypes.NameIdentifier);
            var entity  = _context.UserBooks.SingleOrDefault(item => item.Id == reviewBook.Id && item.UserId == _userId);

            if (entity == null)
            {
                UserBook newBook = new UserBook
                {
                    Id         = reviewBook.Id,
                    Review     = reviewBook.Review,
                    ReviewedOn = DateTime.Now,
                    UserId     = _userId
                };
                _context.UserBooks.Add(newBook);
            }
            else
            {
                entity.Review     = reviewBook.Review;
                entity.ReviewedOn = DateTime.Now;
            }

            try
            {
                _context.SaveChanges();
            }
            catch (DbUpdateException)
            {
                throw;
            }

            return(reviewBook);
        }
コード例 #2
0
        public ActionResult Upsert([Deserialize] revBookVars model, string rev)
        {
            if (ModelState.IsValid)
            {
                var current = unitOfWork.BookReviewRepository.Get(d => d.bookId == model.bid && d.userId == WebSecurity.CurrentUserId).SingleOrDefault();

                if (current != null)
                {
                    current.review = rev;
                    unitOfWork.BookReviewRepository.Update(current);
                }
                else
                {
                    ReviewBook review = new ReviewBook();
                    review.bookId = model.bid;
                    review.date   = DateTime.UtcNow;
                    review.review = rev;
                    review.userId = WebSecurity.CurrentUserId;
                    unitOfWork.BookReviewRepository.Insert(review);
                }

                unitOfWork.Save();
                return(Json(new { URL = Url.Action("Detail", "Book", new { BId = model.bid }) }));
            }
            throw new ModelStateException(this.ModelState);
        }