//获取正在使用的父类结构 public SWfsProductRefTemplate GetUseParentStructList(string productNo) { SWfsProductRefTemplate obj = DapperUtil.Query <SWfsProductRefTemplate>("ComBeziWfs_SWfsProductRef_UseParentStruct", new { ProductNo = productNo }).FirstOrDefault(); if (obj == null) { obj = new SWfsProductRefTemplate(); } return(obj); }
//加载商品的编辑内容 public ActionResult GetStructContent(string productNo) { //查询商品title ViewBag.ProductTitle = productService.GetProductTitle(productNo); //加载商品信息 ViewBag.ProductInfo = productService.GetProductInfoByProductNo(productNo); //加载所有模板列表 ViewBag.TemplateList = productService.GetTemplateList(); ViewBag.UnUseStruct = productService.GetStructList();//所有结构父类 //加载正在使用的父类 子类结构 SWfsProductRefTemplate obj = productService.GetUseParentStructList(productNo); IEnumerable <SWfsProductRefTemplate> childStructList = childStructList = productService.GetStructChild(obj.ProductRefTemplateID); obj.ProductNo = productNo; ViewBag.UseStruct = obj;//使用结构 ViewBag.ChildStructList = childStructList; return(View()); }
//使用结构 public JsonResult UseStruct(string productNo, int usestructId, int structId) { if (usestructId == 0) { return(Json(new { satatus = 0, msg = "商品编号不存在" }, JsonRequestBehavior.AllowGet)); } if (usestructId == 0) { return(Json(new { satatus = 0, msg = "结构编号不存在" }, JsonRequestBehavior.AllowGet)); } //获取结构的父类 SWfsProductRefTemplate obj = productService.GetStructById(usestructId); if (obj == null) { return(Json(new { satatus = 0, msg = "结构不存在" }, JsonRequestBehavior.AllowGet)); } StringBuilder sb = new StringBuilder(); StringBuilder sbMobile = new StringBuilder(); string[] templateNoList = null; //获取子类 IEnumerable <SWfsProductRefTemplate> useChildStructList = productService.GetStructChild(usestructId).OrderBy(p => p.Sort); //获取结构的组合模板代码 for (int i = 0; i < useChildStructList.Count(); i++) { if (useChildStructList.ElementAt(i).ModuleStatus == 1 && !string.IsNullOrEmpty(useChildStructList.ElementAt(i).TemplateNo)) { //获取模板html IEnumerable <SWfsProductTemplate> templateList = productService.GetTemplateContentByTemplateNoList(useChildStructList.ElementAt(i).TemplateNo); templateNoList = useChildStructList.ElementAt(i).TemplateNo.Split(','); for (int j = 0; j < templateNoList.Length; j++) { if (templateList.Count(p => p.TemplateNO == templateNoList[j]) == 1) { sb.Append(templateList.Single(p => p.TemplateNO == templateNoList[j]).TemplateCode); sbMobile.Append(templateList.Single(p => p.TemplateNO == templateNoList[j]).TemplateCodeMobile); } } useChildStructList.ElementAt(i).TemplateHtmlCode = sb.ToString(); useChildStructList.ElementAt(i).TemplateHtmlCodeMobile = sbMobile.ToString(); } else { useChildStructList.ElementAt(i).TemplateHtmlCode = ""; useChildStructList.ElementAt(i).TemplateHtmlCodeMobile = ""; } useChildStructList.ElementAt(i).ProductNo = productNo; sb.Length = 0; } if (structId != 0) { //重置正在使用的父类 productService.EditeStructParent(structId, obj.ModuleName, productNo); //重置编辑的html代码 IEnumerable <SWfsProductRefTemplate> ChildStructList = productService.GetStructChild(structId).OrderBy(p => p.Sort); for (int i = 0; i < ChildStructList.Count() && i < useChildStructList.Count(); i++) { ChildStructList.ElementAt(i).ModuleName = useChildStructList.ElementAt(i).ModuleName; ChildStructList.ElementAt(i).ModuleStatus = useChildStructList.ElementAt(i).ModuleStatus; ChildStructList.ElementAt(i).TemplateNo = useChildStructList.ElementAt(i).TemplateNo; ChildStructList.ElementAt(i).TemplateHtmlCode = useChildStructList.ElementAt(i).TemplateHtmlCode.Trim(); ChildStructList.ElementAt(i).TemplateHtmlCodeMobile = useChildStructList.ElementAt(i).TemplateHtmlCodeMobile.Trim(); ChildStructList.ElementAt(i).ProductNo = productNo; } productService.EditeStructChild(ChildStructList); } else { //插入父类 int parentId = productService.SaveStructParent(obj.ModuleName, productNo, 1); //添加父类 productService.SaveStructChild(useChildStructList, parentId); //根据父类 添加子类 } return(Json(new { satatus = 1, msg = "操作成功" }, JsonRequestBehavior.AllowGet)); }