/// <summary> /// 递归获取数据集合结构 /// </summary> /// <param name="root"></param> /// <param name="allDicDataList"></param> private void GetSubDicDataListByRecursion(EDicData root, List<EDicData> list, List<EDicData> allDicDataList) { //获取下一级菜单 var children = allDicDataList.Where(p => p.DicDataParentId == root.Id).ToList(); if (children.Count > 0) { list.AddRange(children); foreach (var sub in children) { GetSubDicDataListByRecursion(sub, list, allDicDataList); } } }
/// <summary> /// 编辑 /// </summary> /// <returns></returns> public ActionResult EditDicData(EDicData data) { if (data.Id == 0) { CheckIsHaveMBPermission(86); _dicDataService.AddDicData(data); return JsonResult(data, "添加成功!"); } else { CheckIsHaveMBPermission(85); _dicDataService.SaveDicData(data); return JsonResult(data, "保存成功!"); } }
/// <summary> /// 递归获取数据树结构 /// </summary> /// <param name="root"></param> /// <param name="allDicDataList"></param> private void GetDicDataTreeByRecursion(EDicData root, IList<EDicData> allDicDataList) { //获取下一级菜单 var children = allDicDataList.Where(p => p.DicDataParentId == root.Id).OrderBy(p => p.DicDataOrderId).ToList(); if (children.Count > 0) { root.Children = children; foreach (var sub in root.Children) { GetDicDataTreeByRecursion(sub, allDicDataList); } } }
/// <summary> /// 递归获取数据集合结构 /// </summary> /// <param name="root"></param> private void GetSubDicDataListByRecursion(EDicData root, List<EDicData> list) { //获取下一级菜单 var children = GetDicDatasByParentIdFromCache(root.Id).ToList(); if (children.Count > 0) { list.AddRange(children); foreach (var sub in children) { GetSubDicDataListByRecursion(sub, list); } } }
/// <summary> /// 递归获取数据树结构 /// </summary> /// <param name="root"></param> /// <param name="allDicDataCategorys"></param> private void GetDicDataTreeByRecursion(EDicData root) { //获取下一级菜单 var children = GetDicDatasByParentIdFromCache(root.Id).ToList(); if (children.Count > 0) { root.Children = children; foreach (var sub in root.Children) { GetDicDataTreeByRecursion(sub); } } }
/// <summary> /// 添加数据 /// </summary> /// <param name="page"></param> public void SaveDicData(EDicData dicData) { _rep.Save(dicData, p => p.Id == dicData.Id); _cacheService.UpdateCacheDependent(CacheKey.Core_DicDatas_All); }
/// <summary> /// 递归获取数据集合结构 /// </summary> /// <param name="dicDataId"></param> public IList<EDicData> GetSubDicDatasFromCache(int? dicDataId) { List<EDicData> list = new List<EDicData>(); if (dicDataId.HasValue) { EDicData root = GetDicDataByIdFromCache(dicDataId.Value); GetSubDicDataListByRecursion(root, list); return list; } else { EDicData root = new EDicData() { Id = dicDataId ?? 0, DicDataName = "数据" }; IList<EDicData> allDicDataList = GetAllDicDatasFromCache(); GetSubDicDataListByRecursion(root, allDicDataList.ToList()); return list; } }
/// <summary> /// 获取数据树结构 /// </summary> /// <returns></returns> public EDicData GetDicDataTreeByIdFromCache(int? dicDataId) { if (dicDataId.HasValue) { EDicData root = _rep.Get<EDicData>(p => p.Id == dicDataId); GetDicDataTreeByRecursion(root); return root; } else { EDicData root = new EDicData() { Id = dicDataId ?? 0, DicDataName = "数据" }; IList<EDicData> allDicDataList = GetAllDicDatasFromCache(); GetDicDataTreeByRecursion(root, allDicDataList); return root; } }
/// <summary> /// 添加数据 /// </summary> /// <param name="page"></param> public void AddDicData(EDicData dicData) { _rep.Add(dicData); _cacheService.UpdateCacheDependent(CacheKey.Core_DicDatas_All); }