public JsonResult RateProduct(decimal id, float value) { var result = new JsonResult() { Data = new { success = false, message = "There was an error processing your request." } }; var success = 0; // save rate if (!User.Identity.IsAuthenticated) { result.Data = new { success = false, message = "يجب تسجيل الدخول أولاً حتى تتمكن من تقييم هذا المنتج" }; return(result); } var reviewerId = User.Identity.GetUserId(); var commodityRating = new CommodityRating(); commodityRating.ReviewerId = reviewerId; commodityRating.Rating = value; commodityRating.CreationDate = DateTime.Now; commodityRating.CommodityId = id; db.CommodityRatings.Add(commodityRating); db.SaveChanges(); // update commodity rating var total = db.CommodityRatings.Where(c => c.CommodityId == id && c.Rating > 0).Average(c => c.Rating); float avgRating = (float)Math.Round((double)total, 1); var commidity = db.Commodities.Where(c => c.CommodityId == id).FirstOrDefault(); if (commidity != null) { commidity.Rating = avgRating; success = db.SaveChanges(); } if (success > 0) { result.Data = new { success = true, message = "Rating saved successfully" }; } return(result); }
public ActionResult AddComment() { var CommodityId = Request.Form["hdn_CommodityId"].ToString(); var comment = Request.Form["txt_comment"].ToString(); string CustomerId = User.Identity.GetUserId(); CommodityRating comRate = new CommodityRating() { CommodityId = int.Parse(CommodityId), Comment = comment, CreationDate = DateTime.Now, Rating = 4, ReviewerId = CustomerId }; db.CommodityRatings.Add(comRate); db.SaveChanges(); return(RedirectToAction("ItemDetails", "Shop", new { CommodityId = CommodityId })); }