Example #1
0
        private int GetCustomPerms(string menuCode, T_HR_EMPLOYEE emp)
        {
            int perm = 99;

            return(perm);     //暂时未实现

            //过滤自定义的权限
            //emp =
            //if (!emp.T_HR_EMPLOYEEPOST.IsLoaded)
            //{
            //    emp.T_HR_EMPLOYEEPOST.Load();
            //}
            if (emp != null)
            {
                foreach (T_HR_EMPLOYEEPOST ep in emp.T_HR_EMPLOYEEPOST)
                {
                    if (!ep.T_HR_POSTReference.IsLoaded)
                    {
                        ep.T_HR_POSTReference.Load();
                    }

                    if (ep.T_HR_POST != null && ep.T_HR_POST.T_HR_DEPARTMENTReference.IsLoaded == false)
                    {
                        ep.T_HR_POST.T_HR_DEPARTMENTReference.Load();
                    }

                    if (ep.T_HR_POST != null && ep.T_HR_POST.T_HR_DEPARTMENT != null && ep.T_HR_POST.T_HR_DEPARTMENT.T_HR_COMPANYReference.IsLoaded == false)
                    {
                        ep.T_HR_POST.T_HR_DEPARTMENT.T_HR_COMPANYReference.Load();
                    }

                    IQueryable <T_SYS_ENTITYMENUCUSTOMPERM> custPerms;
                    //查看有没有岗位的特别权限
                    EntityMenuCustomPermBLL bll = new EntityMenuCustomPermBLL();


                    custPerms = bll.GetCustomPostMenuPerms(menuCode, ep.T_HR_POST.POSTID);
                    if (custPerms != null && custPerms.Count() > 0)
                    {
                        perm = Convert.ToInt32(AssignObjectType.Post);
                    }

                    //查看有没有部门的特别权限
                    custPerms = bll.GetCustomDepartMenuPerms(menuCode, ep.T_HR_POST.T_HR_DEPARTMENT.DEPARTMENTID);
                    if (custPerms != null && custPerms.Count() > 0)
                    {
                        perm = Convert.ToInt32(AssignObjectType.Department);
                    }

                    //查看有没有公司的特别权限
                    custPerms = bll.GetCustomCompanyMenuPerms(menuCode, ep.T_HR_POST.T_HR_DEPARTMENT.T_HR_COMPANY.COMPANYID);
                    if (custPerms != null && custPerms.Count() > 0)
                    {
                        perm = Convert.ToInt32(AssignObjectType.Company);
                    }
                }
            }

            return(perm);
        }
Example #2
0
        public List<T_SYS_ENTITYMENUCUSTOMPERM> GetCustomDepartMenuPerms(string menuCode, string departID)
        {
            using (EntityMenuCustomPermBLL bll = new EntityMenuCustomPermBLL())
            {
                #region 
                List<T_SYS_ENTITYMENUCUSTOMPERM> perms;
                string keyString = "GetCustomDepartMenuPerms" + menuCode + departID;
                if (WCFCache.Current[keyString] == null)
                {
                    IQueryable<T_SYS_ENTITYMENUCUSTOMPERM> IQList = bll.GetCustomDepartMenuPerms(menuCode, departID);
                    perms = IQList == null ? null : IQList.ToList();
                    WCFCache.Current.Insert(keyString, perms, DateTime.Now.AddMinutes(15));

                }
                else
                {
                    perms = (List<T_SYS_ENTITYMENUCUSTOMPERM>)WCFCache.Current[keyString];
                }
                #endregion
                return perms.Count() > 0 ? perms : null;
            }
        }