public ActionResult Index(Enums.CouponPlatform platform = Enums.CouponPlatform.TaoBao, int pid = 0) { Sidebar(); var tree = new CouponTypeTreeNode { Childs = new List <CouponTypeTreeNode>(), ID = 0, Name = "全部", ParentID = -1 }; if (platform == Enums.CouponPlatform.TMall) { platform = Enums.CouponPlatform.TaoBao; } Action <CouponTypeTreeNode> setTree = null; setTree = p => { var childs = couponType.Where(s => s.ParentID == p.ID && s.Platform == platform) .OrderBy(s => s.Sort) .ThenBy(s => s.ID) .Select(s => new CouponTypeTreeNode { ID = s.ID, Childs = new List <CouponTypeTreeNode>(), Name = s.Name, ParentID = s.ParentID }) .ToList(); if (childs.Count > 0) { p.Childs.AddRange(childs); foreach (var item in childs) { setTree(item); } ; } }; setTree(tree); ViewBag.Tree = tree; Sidebar(); return(View(couponType.ToList().Where(s => s.ParentID == pid && s.Platform == platform).OrderBy(s => s.Sort).ThenBy(s => s.ID))); }
public ActionResult MGJType() { Sidebar(); string json = GetFileJson(Server.MapPath("~/App_Data/temp.json")); JArray json1 = (JArray)JsonConvert.DeserializeObject(json); List <CouponTypeTreeNode> aa = new List <CouponTypeTreeNode>(); foreach (var item in json1) { int?typeid = null; if (!string.IsNullOrWhiteSpace(item["TypeID"].ToString())) { typeid = int.Parse(item["TypeID"].ToString()); } //赋值属性 if (int.Parse(item["Count"].ToString()) > 0) { aa.Add(new CouponTypeTreeNode() { TestID = item["ID"].ToString(), Count = int.Parse(item["Count"].ToString()), IsLeaf = bool.Parse(item["IsLeaf"].ToString()), Name = item["Name"].ToString(), TypeID = typeid, ParentId = item["ParentId"].ToString(), Childs = new List <CouponTypeTreeNode>() }); } } var tree = new CouponTypeTreeNode { Childs = new List <CouponTypeTreeNode>(), TestID = "", Name = "全部", ParentId = "", Count = 0, IsLeaf = true, TypeID = null }; Action <CouponTypeTreeNode> setTree = null; setTree = p => { var childs = aa.Where(s => s.ParentId == p.TestID) .Select(s => new CouponTypeTreeNode { ID = s.ID, Childs = new List <CouponTypeTreeNode>(), Name = s.Name, ParentId = s.ParentId, Count = s.Count, IsLeaf = s.IsLeaf, TypeID = s.TypeID, TestID = s.TestID }) .ToList(); if (childs.Count > 0) { p.Childs.AddRange(childs); foreach (var item in childs) { setTree(item); } ; } }; setTree(tree); return(View(tree)); }