/// <summary> /// 新增菜单项或者操作项 /// </summary> /// <param name="entity"></param> /// <returns></returns> public int AddResource(SysResourceEntity entity) { entity.ThrowIfNull("添加资源信息对象为空"); //父类的处理 if (!entity.ParentNum.IsEmpty()) { SysResourceEntity parentRes = GetResource(entity.ParentNum); if (parentRes.IsNotNull()) { parentRes.ChildCount++; entity.Depth = parentRes.Depth + 1; parentRes.IncludeChildCount(true) .Where<SysResourceEntity>("ResNum", ECondition.Eth); this.SysResource.Update(parentRes); } } entity.ResNum = entity.ResNum.IsNullOrEmpty() ? SequenceProvider.GetSequence(typeof(SysResourceEntity)) : entity.ResNum; entity.IncludeAll(); int line = this.SysResource.Add(entity); if (line > 0) { CacheHelper.Remove(CacheKey.JOOSHOW_SYSRESOURCE_CACHE); } return line; }
/// <summary> /// 获得所有资源 /// </summary> /// <returns></returns> public List<SysResourceEntity> GetList() { List<SysResourceEntity> list = CacheHelper.Get(CacheKey.JOOSHOW_SYSRESOURCE_CACHE) as List<SysResourceEntity>; if (!list.IsNullOrEmpty()) { return list; } SysResourceEntity entity = new SysResourceEntity(); entity.IncludeAll(); entity.Where(a => a.IsDelete == (int)EIsDelete.NotDelete); list = this.SysResource.GetList(entity); if (!list.IsNullOrEmpty()) { list.ForEach(a => { a.ResouceType = EnumHelper.GetEnumDesc<EResourceType>(a.ResType); a.ParentName = a.ParentNum.Do((string parentNum) => { SysResourceEntity item = list.SingleOrDefault(b => b.ResNum == parentNum); return item.IsNotNull() ? item.ResName : ""; },""); }); CacheHelper.Insert(CacheKey.JOOSHOW_SYSRESOURCE_CACHE, list); } return list; }