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); }