public static SysResource_CE ToCE(SysResourceEntity item) { SysResource_CE target = new SysResource_CE(); target.ID=item.ID; target.ResNum=item.ResNum; target.ResName=item.ResName; target.ParentNum=item.ParentNum; target.Depth=item.Depth; target.ParentPath=item.ParentPath; target.ChildCount=item.ChildCount; target.Sort=item.Sort; target.IsHide=item.IsHide; target.IsDelete=item.IsDelete; target.Url=item.Url; target.CssName=item.CssName; target.CreateTime=item.CreateTime; target.Depart=item.Depart; target.ResType=item.ResType; target.UpdateTime=item.UpdateTime; target.CreateUser=item.CreateUser; target.UpdateUser=item.UpdateUser; target.CreateIp=item.CreateIp; target.UpdateIp=item.UpdateIp; target.Remark=item.Remark; return target; }
/// <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> /// <param name="id"></param> /// <returns></returns> public int DeleteResource(string ResNum) { SysResourceEntity entity = new SysResourceEntity(); entity.IsDelete = (int)EIsDelete.Deleted; entity.IncludeIsDelete(true); entity.Where(a => a.ResNum == ResNum); int line = this.SysResource.Update(entity); if (line > 0) { CacheHelper.Remove(CacheKey.JOOSHOW_SYSRESOURCE_CACHE); } return line; }
/// <summary> /// 添加菜单 /// </summary> /// <returns></returns> public ActionResult AddMenu() { string resNum = WebUtil.GetQueryStringValue<string>("resNum"); if (resNum.IsEmpty()) { ViewBag.RoleList = BaseHelper.GetParentMenu(string.Empty); SysResourceEntity entity = new SysResourceEntity(); ViewBag.Menu = entity; ViewBag.ResourceType = EnumHelper.GetOptions<EResourceType>(EResourceType.Page,"请选择菜单类型"); return View(); } else { SysResourceProvider provider = new SysResourceProvider(); SysResourceEntity entity = provider.GetResource(resNum); entity = entity == null ? new SysResourceEntity() : entity; ViewBag.RoleList = BaseHelper.GetParentMenu(entity.ParentNum); ViewBag.Menu = entity; ViewBag.ResourceType = EnumHelper.GetOptions<EResourceType>(entity.ResType, "请选择菜单类型"); return View(); } }
/// <summary> /// 修改资源信息 /// </summary> /// <param name="entity"></param> /// <returns></returns> public int UpdateResource(SysResourceEntity entity) { entity.IncludeResName(true) .IncludeSort(true) .IncludeUrl(true) .IncludeUpdateIp(true) .IncludeUpdateTime(true) .IncludeUpdateUser(true) .IncludeRemark(true) .IncludeDepart(true) .IncludeResType(true) .IncludeCssName(true) .IncludeDepart(true) .IncludeResType(true) .IncludeParentNum(true) .Where<SysResourceEntity>("ResNum", ECondition.Eth); int line = this.SysResource.Update(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; }