Exemple #1
0
        public static PromotionModel GetPromotionDetail(int id)
        {
            var dt = DALPromotion.GetPromotionDetail(id);

            if (dt == null || dt.Rows.Count <= 0)
            {
                return(new PromotionModel());
            }
            var result = dt.Rows.Cast <DataRow>().Select(row => new PromotionModel(row)).FirstOrDefault();

            var proConfig  = DALPromotion.GetCouponProductConfig(result.PKID);
            var shopConfig = DALPromotion.GetCouponShopConfig(result.PKID);

            result.ShopConfig     = shopConfig.Rows.Cast <DataRow>().Select(row => new CouponRulesConfigShop(row)).ToList();
            result.ProductsConfig = proConfig.Rows.Cast <DataRow>().Select(row => new CouponRulesConfigProduct(row)).ToList();
            var pids = result.ProductsConfig.Where(x => x.Type == 4).Select(x => x.ConfigValue).ToList();

            if (pids.Any())
            {
                IAutoSuppliesManager manager = new AutoSuppliesManager();
                var names = manager.GetProductNamesByPids(pids);
                foreach (var p in result.ProductsConfig)
                {
                    if (p.Type == 4 && names.ContainsKey(p.ConfigValue))
                    {
                        p.ProductName = names[p.ConfigValue];
                    }
                }
            }

            return(result);
        }