Пример #1
0
        private async Task <ReviewDetailsModel> CreateReviewDetailsModelAsync(int reviewId)
        {
            var review = await DB.Reviews.FindAsync(reviewId);

            var reviewStats        = DB.ReviewStats.FirstOrDefault(z => z.ReviewId == reviewId);
            var reviewDetailsModel = new ReviewDetailsModel(review, reviewStats);

            return(reviewDetailsModel);
        }
Пример #2
0
        public async Task <ActionResult> Delete(
            [Bind(new[] {
            nameof(ReviewDetailsModel.Review),
            nameof(ReviewDetailsModel.Review) + "." + nameof(Review.ReviewId),
        })]
            ReviewDetailsModel m)
        {
            var r = await DB.Reviews.FindAsync(m.Review.ReviewId);

            if (r == null)
            {
                return(NotFound());
            }
            r.Delete();
            await DB.SaveChangesAsync();

            return(RedirectToIndex());
        }
Пример #3
0
        public async Task <ActionResult> Save(
            [Bind(new[] {
            nameof(ReviewDetailsModel.Review),
            nameof(ReviewDetailsModel.Review) + "." + nameof(Review.ReviewId),
            nameof(ReviewDetailsModel.Review) + "." + nameof(Review.IsClosed),
            nameof(ReviewDetailsModel.Review) + "." + nameof(Review.ReviewName),
            nameof(ReviewDetailsModel.Review) + "." + nameof(Review.Comments),
            nameof(ReviewDetailsModel.Review) + "." + nameof(Review.Status),
        })]
            ReviewDetailsModel m)
        {
            var  reviewId = m.Review.ReviewId;
            bool errors   = false;

            if (DB.Reviews.Any(r => r.ReviewName == m.Review.ReviewName && r.ReviewId != reviewId))
            {
                ModelState.AddModelError("ReviewName", "The name of this review is already in use.");
                errors = true;
            }
            if (!errors && ModelState.IsValid)
            {
                var r = await DB.Reviews.FindAsync(reviewId);

                if (r == null)
                {
                    return(NotFound());
                }
                r.ReviewName = m.Review.ReviewName;
                r.Comments   = m.Review.Comments;
                r.SetStatusDependingOnClosedBit(m.Review.IsClosed);
                await DB.SaveChangesAsync();

                return(RedirectToIndex());
            }

            //var mulligan = await CreateReviewDetailsModelAsync(reviewId);
            //mulligan.Review.ReviewName = m.Review.ReviewName;
            //mulligan.Review.IsClosed = m.Review.IsClosed;
            return(RedirectToAction(ActionNames.Details, new { id = reviewId }));
        }