public JsonResult UpdateCouponStatus(int ruleId, int status)
        {
            var result = DalShopPromotion.UpdateCouponRuleStatus(ruleId, status, User.Identity.Name);

            return(Json(new
            {
                data = result
            }));
        }
        public JsonResult CopyCouponRule(int ruleId)
        {
            var result = DalShopPromotion.CopyCouponRule(ruleId, User.Identity.Name);

            return(Json(new
            {
                data = result
            }));
        }
        public JsonResult GetNotUserdPromotionCount(int ruleId)
        {
            var result = DalShopPromotion.GetNotUserdPromotionCount(ruleId);

            return(Json(new
            {
                data = result
            }, JsonRequestBehavior.AllowGet));
        }
        public static ListModel <ShopCouponRulesModel> GetCouponList(string keywords, int?discount, string startDate,
                                                                     string endDate, int status, int pageIndex, int pageSize)
        {
            var result = DalShopPromotion.GetCouponList(keywords, discount, startDate, endDate, status, pageIndex,
                                                        pageSize);
            var products    = DalShopPromotion.GetCouponRuleProducts(result.Source.Select(x => x.RuleId).ToList());
            var productsDic = products.GroupBy(x => x.RuleId).ToDictionary(k => k.Key, v => v.ToList());

            foreach (var item in result.Source)
            {
                productsDic.TryGetValue(item.RuleId, out List <ShopCouponRuleProduct> p);
                item.Products = p;
            }
            return(result);
        }