public ActionResult Approve(int id) { //var reviews = db.AttractionReview.Where(x => x.isApproved == 0).ToList(); AttractionReview approved = db.AttractionReview.Where(x => x.ID == id).Single(); approved.isApproved = 1; db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult ReviewDelete(int id) { AttractionReview review = db.AttractionReview.Find(id); if (!review.Author.Equals(Membership.GetUser().UserName) && !Roles.IsUserInRole(Membership.GetUser().UserName, "admin")) { return(RedirectToAction("Details", new { id = review.AttractionID })); } ViewBag.Attraction = db.Attraction.Find(review.AttractionID); return(View(review)); }
public ActionResult AttractionReviews(int count) { Random random = new Random(); for (int i = 0; i < count; ++i) { AttractionReview review = new AttractionReview(); review.AttractionID = db.Attraction.OrderBy(x => x.ID).Skip(random.Next(db.Attraction.Count() - 1)).FirstOrDefault().ID; review.Author = "guest"; review.Date = DateTime.Now; review.Rating = random.Next(1, 10); review.Text = generateRandomText(2); db.AttractionReview.Add(review); db.SaveChanges(); } return(RedirectToAction("Index", "Attraction")); }
public ActionResult ReviewDeleteConfirmed(int id) { AttractionReview review = db.AttractionReview.Find(id); if (!review.Author.Equals(Membership.GetUser().UserName) && !Roles.IsUserInRole(Membership.GetUser().UserName, "admin")) { return(RedirectToAction("Details", new { id = review.AttractionID })); } //update avg rating var attraction = db.Attraction.Include(c => c.Country).Include(c => c.AttractionType) .Include(r => r.Reviews).Where(x => x.ID == review.AttractionID).SingleOrDefault(); int reviewsCount = attraction.Reviews.Count(); attraction.AvgRating = (attraction.AvgRating * reviewsCount - review.Rating) / (reviewsCount - 1); //end of update db.AttractionReview.Remove(review); db.SaveChanges(); return(RedirectToAction("Details", new { id = review.AttractionID })); }
public ActionResult ReviewEdit(AttractionReview review, int oldRating) { if (!review.Author.Equals(Membership.GetUser().UserName) && !Roles.IsUserInRole(Membership.GetUser().UserName, "admin")) { return(RedirectToAction("Details", new { id = review.AttractionID })); } db.Entry(review).State = EntityState.Modified; //update avg rating var attraction = db.Attraction.Include(c => c.Country).Include(c => c.AttractionType) .Include(r => r.Reviews).Where(x => x.ID == review.AttractionID).SingleOrDefault(); int reviewsCount = attraction.Reviews.Count(); attraction.AvgRating = (attraction.AvgRating * reviewsCount - oldRating + review.Rating) / reviewsCount; //end of update db.SaveChanges(); return(RedirectToAction("Details", new { id = review.AttractionID })); }
public ActionResult ReviewCreate(int AttractionId, String Author, int Rating, String Text) { AttractionReview review = new AttractionReview(); review.AttractionID = AttractionId; review.Author = Author; review.Rating = Rating; review.Text = Text; review.Date = DateTime.Now; var attraction = db.Attraction.Include(x => x.AttractionType).Include(x => x.Address).Include(x => x.Coordinates) .Include(x => x.Country).SingleOrDefault(x => x.ID == review.AttractionID); int reviewsCount = db.AttractionReview.Where(a => a.AttractionID == review.AttractionID).Count(); if (ModelState.IsValid) { db.AttractionReview.Add(review); attraction.AvgRating = ((attraction.AvgRating * reviewsCount) + review.Rating) / (reviewsCount + 1); db.SaveChanges(); } //return RedirectToAction("Details", new { id = review.AttractionID }); return(View("GetReview", review)); }