Exemplo n.º 1
0
        /// <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() ? new SequenceProvider(this.CompanyID).GetSequence(typeof(SysResourceEntity)) : entity.ResNum;
            entity.IncludeAll();
            int line = this.SysResource.Add(entity);

            if (line > 0)
            {
                CacheHelper.Remove(CacheKey.JOOSHOW_SYSRESOURCE_CACHE);
            }
            return(line);
        }
Exemplo n.º 2
0
        /// <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);
        }