Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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 }));
        }