Пример #1
0
 public List <V_UserMenuPermission> GetSysLeftMenuFilterPermissionToNewFrame(string userID)
 {
     using (SysEntityMenuBLL bll = new SysEntityMenuBLL())
     {
         List <V_UserMenuPermission> menuList = bll.GetSysLeftMenuFilterPermissionToNewFrame(userID);
         return(menuList != null?menuList.ToList() : null);
     }
 }
Пример #2
0
        public List<V_UserMenuPermission> GetSysLeftMenuFilterPermissionToNewFrame(string userID)
        {
            //using (SysUserBLL bll = new SysUserBLL())
            //{
            //    List<V_BllCommonUserPermission> plist;
            //    string menuCode = "T_HR_COMPANY";
            //    userID = "f89fb1ce-460f-4f53-8c45-04d8b5d45aca";
            //    string keyString = "BllCommonUserMenuPermsstring" + menuCode + userID;
            //    string Companykey = "BllOwnerCompanyIDs" + menuCode + userID;
            //    string Departmentkey = "BllOwnerDepartmentIDs" + menuCode + userID;
            //    string Positionkey = "BllOwnerPositionIDs" + menuCode + userID;
            //    string OwnerCompanyIDs = "";
            //    string OwnerDepartmentIDs = "";
            //    string OwnerPositionIDs = "";
            //    //if (WCFCache.Current[keyString] == null)
            //    //{

            //        IQueryable<V_BllCommonUserPermission> IQlist = bll.GetUserMenuPermsByUserPermisionBllCommon(menuCode, userID, ref OwnerCompanyIDs, ref OwnerDepartmentIDs, ref OwnerPositionIDs);
            //        //if(IQlist != null)
            //        plist = IQlist != null ? IQlist.ToList() : null;
            //        WCFCache.Current.Insert(keyString, plist, DateTime.Now.AddMinutes(1));
            //        WCFCache.Current.Insert(Companykey, OwnerCompanyIDs, DateTime.Now.AddMinutes(1));
            //        WCFCache.Current.Insert(Departmentkey, OwnerDepartmentIDs, DateTime.Now.AddMinutes(1));
            //        WCFCache.Current.Insert(Positionkey, OwnerPositionIDs, DateTime.Now.AddMinutes(1));


            //    //}
            //    //else
            //    //{
            //    //    plist = (List<V_BllCommonUserPermission>)WCFCache.Current[keyString];
            //    //    OwnerCompanyIDs = (string)WCFCache.Current[Companykey];
            //    //    OwnerDepartmentIDs = (string)WCFCache.Current[Departmentkey];
            //    //    OwnerPositionIDs = (string)WCFCache.Current[Positionkey];

            //    //}

            //    return null;
            //}

            using (SysEntityMenuBLL bll = new SysEntityMenuBLL())
            {
                Tracer.Debug("系统用户SysUserBLL-GetSysLeftMenuFilterPermissionToNewFrame");
                T_SYS_FBADMIN UserFb = null;

                T_SYS_USER Userinfo = this.GetUserByID(userID);
                if (Userinfo != null)
                {
                    UserFb = this.getFbAdmin(Userinfo.SYSUSERID);
                }

                IQueryable<V_UserMenuPermission> menuList = UserFb != null ? bll.GetSysLeftMenuFilterPermissionToNewFrame(userID, UserFb) : bll.GetSysLeftMenuFilterPermissionToNewFrameForNotFbAdmin(userID, UserFb);

                return menuList != null ? menuList.ToList() : null;
            }

        }
Пример #3
0
        /// <summary>
        /// 根据用户系统ID获取用户所拥有的系统模块目录信息。
        /// </summary>
        /// <param name="userSysID">用户系统ID</param>
        /// <returns>生成后的模块集合</returns>
        public List <ModuleInfo> GetModuleCatalogByUser(string userSysID)
        {
            Tracer.Debug("GetModuleCatalogByUser Start,! userSysID:" + userSysID);
            DateTime dtstart = DateTime.Now;

            try
            {
                string         result   = string.Empty;
                SysUserRoleBLL RoleBll  = new SysUserRoleBLL();
                string         syscodes = RoleBll.GetSystemTypeByUserID(userSysID, ref result);
                string[]       codelist = syscodes.Split(',');

                List <ModuleInfo> moduleinfos = GetModulesBySystemCode(codelist);
                List <ModuleInfo> tempModules = new List <ModuleInfo>();

                SysEntityMenuBLL pmbll = new SysEntityMenuBLL();

                List <V_UserMenuPermission> pmList = pmbll.GetSysLeftMenuFilterPermissionToNewFrame(userSysID);
                var menuList = from ent in pmList
                               orderby ent.SYSTEMTYPE, ent.ORDERNUMBER
                select ent;



                foreach (var item in menuList)
                {
                    var childs = menuList.Where(mm => mm.EntityMenuFatherID == item.ENTITYMENUID);

                    if (item.ENTITYMENUID == "9b58888d-cf4e-40cf-bab6-de4ee00d0ceb")
                    {
                        Tracer.Debug("!已获取到(新)流程定义");
                    }
                    if (item.ENTITYMENUID == "709D9380-5405-4429-B047-20100401D255")
                    {
                        Tracer.Debug("!已获取到系统科目字典维护");
                    }
                    else
                    {
                        Tracer.Debug("已获取到菜单:" + item.MENUNAME);
                    }

                    ModuleInfo parentModule = moduleinfos.FirstOrDefault(e => (e.ModuleCode == item.SYSTEMTYPE));

                    ModuleInfo module = new ModuleInfo()
                    {
                        ModuleCode     = item.MENUCODE,
                        ModuleIcon     = item.MENUICONPATH,
                        ModuleName     = item.ENTITYMENUID,
                        ParentModuleID = item.EntityMenuFatherID,
                        ModuleID       = item.ENTITYMENUID,
                        SystemType     = item.SYSTEMTYPE,
                        ClientID       = item.CHILDSYSTEMNAME,
                        ModuleType     = item.URLADDRESS,
                        Description    = item.MENUNAME,
                        UseState       = "0"
                    };

                    if ((childs.Count() > 0))
                    {
                        module.ParentModuleID = item.SYSTEMTYPE;
                    }
                    //配置菜单的依赖系统关系
                    module.DependsOn = new System.Collections.ObjectModel.Collection <string>();
                    if (parentModule != null)
                    {
                        module.DependsOn.Add(parentModule.ModuleName);

                        if (item.CHILDSYSTEMNAME != null)
                        {
                            //SMT.FBAnalysis.UI
                            if (parentModule.ModuleName != item.CHILDSYSTEMNAME && parentModule.ModuleName != "SMT.SaaS.LM.UI")
                            {
                                module.DependsOn.Add(item.CHILDSYSTEMNAME);
                                //Debug.WriteLine(parentModule.ModuleName+" => "+item.CHILDSYSTEMNAME);
                            }
                        }
                    }

                    if (item.URLADDRESS != null)
                    {
                        if (item.URLADDRESS.IndexOf("[mvc]") >= 0)
                        {
                            module.ModuleType = item.URLADDRESS;   //增加平台兼容地址获取
                        }
                        else
                        {
                            RefreshModuleType(parentModule, module, item.CHILDSYSTEMNAME, item.URLADDRESS);
                        }
                    }

                    tempModules.Add(module);
                }

                moduleinfos.AddRange(tempModules);
                return(moduleinfos);
            }
            catch (Exception ex)
            {
                Tracer.Debug("Dal GetModuleCatalogByUser 异常:" + ex.ToString());
                //throw ex;
                return(new List <ModuleInfo>());
            }
            finally
            {
                TimeSpan ts = DateTime.Now.Subtract(dtstart);
                Tracer.Debug("GetModuleCatalogByUser completed !耗时:" + ts.TotalSeconds + "s userSysID:" + userSysID);
            }
        }
Пример #4
0
        /// <summary>
        /// 根据用户系统ID获取用户所拥有的系统模块目录信息。
        /// </summary>
        /// <param name="userSysID">用户系统ID</param>
        /// <returns>生成后的模块集合</returns>
        public List<ModuleInfo> GetModuleCatalogByUser(string userSysID)
        {
            Tracer.Debug("GetModuleCatalogByUser Start,! userSysID:" + userSysID);
            DateTime dtstart = DateTime.Now;
            try
            {
                string result = string.Empty;
                SysUserRoleBLL RoleBll = new SysUserRoleBLL();
                string syscodes = RoleBll.GetSystemTypeByUserID(userSysID, ref result);
                string[] codelist = syscodes.Split(',');

                List<ModuleInfo> moduleinfos = GetModulesBySystemCode(codelist);
                List<ModuleInfo> tempModules = new List<ModuleInfo>();

                SysEntityMenuBLL pmbll = new SysEntityMenuBLL();

                List<V_UserMenuPermission> pmList = pmbll.GetSysLeftMenuFilterPermissionToNewFrame(userSysID);
                var menuList = from ent in pmList
                               orderby ent.SYSTEMTYPE, ent.ORDERNUMBER
                               select ent;



                foreach (var item in menuList)
                {
                    var childs = menuList.Where(mm => mm.EntityMenuFatherID == item.ENTITYMENUID);

                    if (item.ENTITYMENUID == "9b58888d-cf4e-40cf-bab6-de4ee00d0ceb")
                    {
                        Tracer.Debug("!已获取到(新)流程定义");
                    }
                    if (item.ENTITYMENUID == "709D9380-5405-4429-B047-20100401D255")
                    {
                        Tracer.Debug("!已获取到系统科目字典维护");
                    }
                    else
                    {
                        Tracer.Debug("已获取到菜单:" + item.MENUNAME);
                    }

                    ModuleInfo parentModule = moduleinfos.FirstOrDefault(e => (e.ModuleCode == item.SYSTEMTYPE));

                    ModuleInfo module = new ModuleInfo()
                    {
                        ModuleCode = item.MENUCODE,
                        ModuleIcon = item.MENUICONPATH,
                        ModuleName = item.ENTITYMENUID,
                        ParentModuleID = item.EntityMenuFatherID,
                        ModuleID = item.ENTITYMENUID,
                        SystemType = item.SYSTEMTYPE,
                        ClientID = item.CHILDSYSTEMNAME,
                        ModuleType = item.URLADDRESS,
                        Description = item.MENUNAME,
                        UseState = "0"

                    };

                    if ((childs.Count() > 0))
                    {
                        module.ParentModuleID = item.SYSTEMTYPE;
                    }
                    //配置菜单的依赖系统关系
                    module.DependsOn = new System.Collections.ObjectModel.Collection<string>();
                    if (parentModule != null)
                    {
                        module.DependsOn.Add(parentModule.ModuleName);

                        if (item.CHILDSYSTEMNAME != null)
                        {
                            //SMT.FBAnalysis.UI
                            if (parentModule.ModuleName != item.CHILDSYSTEMNAME && parentModule.ModuleName != "SMT.SaaS.LM.UI")
                            {
                                module.DependsOn.Add(item.CHILDSYSTEMNAME);
                                //Debug.WriteLine(parentModule.ModuleName+" => "+item.CHILDSYSTEMNAME);
                            }
                        }
                    }

                    if (item.URLADDRESS != null)
                    {
                        if (item.URLADDRESS.IndexOf("[mvc]") >= 0)
                            module.ModuleType = item.URLADDRESS;   //增加平台兼容地址获取
                        else
                            RefreshModuleType(parentModule, module, item.CHILDSYSTEMNAME, item.URLADDRESS);
                    }

                    tempModules.Add(module);
                }

                moduleinfos.AddRange(tempModules);
                return moduleinfos;
            }
            catch (Exception ex)
            {
                Tracer.Debug("Dal GetModuleCatalogByUser 异常:" + ex.ToString());
                //throw ex;
                return new List<ModuleInfo>();
            }
            finally
            {
                TimeSpan ts = DateTime.Now.Subtract(dtstart);
                Tracer.Debug("GetModuleCatalogByUser completed !耗时:" + ts.TotalSeconds + "s userSysID:" + userSysID);
            }
        }