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); }
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()); }
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 })); }