Beispiel #1
0
        public string GetPowerTreexXmlText(string moduleTypeID, string AuthorizeGroupID)
        {
            new UserRule();
            XmlDocument xmlDocSource = new XmlDocument();

            WTF.Power.Entity.Sys_ModuleType type = this.CurrentEntities.sys_moduletype.First <WTF.Power.Entity.Sys_ModuleType>(s => s.ModuleTypeID == moduleTypeID);
            XmlElement newChild = xmlDocSource.CreateElement("Module");

            newChild.SetAttribute("ModuleID", RolePowerKey.Create(type.ModuleTypeID).ToKey);
            newChild.SetAttribute("ModuleName", type.ModuleTypeName);
            xmlDocSource.AppendChild(newChild);
            List <WTF.Power.Entity.Sys_Module> list = this.CurrentEntities.GetAuthorizeGroupPowerModule(AuthorizeGroupID, moduleTypeID).ToList <WTF.Power.Entity.Sys_Module>();
            List <string> editModuleModuleList      = (from s in list
                                                       where s.IsEdit
                                                       select s.ModuleCode).ToList <string>();
            List <WTF.Power.Entity.Sys_Module> list2 = new List <WTF.Power.Entity.Sys_Module>();

            if (editModuleModuleList.Count > 0)
            {
                list2 = (from s in this.CurrentEntities.sys_module
                         where editModuleModuleList.Contains(s.ModuleCode) && !s.IsEdit
                         select s).ToList <WTF.Power.Entity.Sys_Module>();
            }
            this.CreatePowerChildElement(xmlDocSource, AuthorizeGroupID, type.ModuleTypeID, Guid.Empty.ToString(), false, "", newChild, list, list2);
            return(xmlDocSource.InnerXml);
        }
Beispiel #2
0
        public string GetPowerTreexXmlText(string moduleTypeID, bool isSupper = false)
        {
            new UserRule();
            XmlDocument xmlDocSource = new XmlDocument();

            WTF.Power.Entity.Sys_ModuleType    type = this.CurrentEntities.sys_moduletype.FirstOrDefault <WTF.Power.Entity.Sys_ModuleType>(s => s.ModuleTypeID == moduleTypeID);
            List <WTF.Power.Entity.Sys_Module> list = null;

            if (isSupper)
            {
                list = (from s in this.CurrentEntities.sys_module
                        where (s.ModuleTypeID == moduleTypeID) && s.IsPower
                        select s).ToList <WTF.Power.Entity.Sys_Module>();
            }
            else
            {
                list = (from s in this.CurrentEntities.sys_module
                        where ((s.ModuleTypeID == moduleTypeID) && s.IsPower) && !s.IsSupperPower
                        select s).ToList <WTF.Power.Entity.Sys_Module>();
            }
            XmlElement newChild = xmlDocSource.CreateElement("Module");

            newChild.SetAttribute("ModuleID", RolePowerKey.Create(type.ModuleTypeID).ToKey);
            newChild.SetAttribute("ModuleName", type.ModuleTypeName);
            xmlDocSource.AppendChild(newChild);
            this.CreatePowerChildElement(xmlDocSource, "", type.ModuleTypeID, Guid.Empty.ToString(), false, "", newChild, list, null);
            return(xmlDocSource.InnerXml);
        }
        private void CreateEachModeuleXmlElement(XmlDocument xmlDocSource, string coteID, string CoteModuleID, bool IsCoteSupper, Sys_Module objSys_Module, XmlElement objXmlElement, List <Sys_Module> objSys_ModuleList, List <sys_authorizegrouppower> objCoteRolePowerList, List <Sys_Module> AddSys_ModuleList)
        {
            Func <Sys_Module, bool> predicate          = null;
            Func <Sys_Module, bool> func2              = null;
            Func <sys_authorizegrouppower, bool> func3 = null;
            string SearchModuleID = objSys_Module.ModuleID;

            if (objSys_Module.IsEdit)
            {
                if (predicate == null)
                {
                    predicate = s => (!s.IsEdit && (s.ParentModuleID == objSys_Module.ParentModuleID)) && (s.ModuleCode == objSys_Module.ModuleCode);
                }
                Sys_Module module = objSys_ModuleList.FirstOrDefault <Sys_Module>(predicate);
                if (module != null)
                {
                    SearchModuleID = module.ModuleID;
                }
                else if (AddSys_ModuleList != null)
                {
                    if (func2 == null)
                    {
                        func2 = s => (!s.IsEdit && (s.ParentModuleID == objSys_Module.ParentModuleID)) && (s.ModuleCode == objSys_Module.ModuleCode);
                    }
                    module = AddSys_ModuleList.FirstOrDefault <Sys_Module>(func2);
                    if (module != null)
                    {
                        SearchModuleID = module.ModuleID;
                    }
                }
            }
            List <string> list = null;

            if ((objCoteRolePowerList != null) && !IsCoteSupper)
            {
                if (func3 == null)
                {
                    func3 = s => s.CoteID == coteID;
                }
                list = (from s in objCoteRolePowerList.Where <sys_authorizegrouppower>(func3) select s.ModuleID).ToList <string>();
            }
            foreach (Sys_Module module2 in from p in objSys_ModuleList
                     where p.ParentModuleID == SearchModuleID
                     orderby p.SortIndex
                     select p)
            {
                if ((list == null) || list.Contains(module2.ModuleID))
                {
                    XmlElement newChild = xmlDocSource.CreateElement("Module");
                    newChild.SetAttribute("ModuleID", RolePowerKey.Create(CoteModuleID, coteID, module2.ModuleID, false).ToKey);
                    newChild.SetAttribute("ModuleName", module2.ModuleName);
                    objXmlElement.AppendChild(newChild);
                    this.CreateEachModeuleXmlElement(xmlDocSource, coteID, CoteModuleID, IsCoteSupper, module2, newChild, objSys_ModuleList, objCoteRolePowerList, AddSys_ModuleList);
                }
            }
        }
Beispiel #4
0
 public XmlElement GetCotePowerXmlElement(XmlDocument xmlDocSource, string AuthorizeGroupID, Sys_Module objCoteModule, List<Sys_Module> objSys_ModuleList, List<Sys_Module> AddSys_ModuleList)
 {
     List<CoteInfo> allCoteInfoList = null;
     List<sys_authorizegrouppower> source = null;
     allCoteInfoList = this.GetAllCoteInfoList();
     if (AuthorizeGroupID.IsNull())
     {
         allCoteInfoList = this.GetAllCoteInfoList();
     }
     else
     {
         source = this.GetAuthorizeGroupCotePower(AuthorizeGroupID, objCoteModule.ModuleID);
         if (source.Count == 0)
         {
             return null;
         }
         if (source.Any<sys_authorizegrouppower>(s => s.IsCoteSupper))
         {
             allCoteInfoList = this.GetAllCoteInfoList();
             source = null;
             ModuleRule rule = new ModuleRule();
             string ModuleIDPath = rule.Sys_Module.FirstOrDefault<Sys_Module>(s => (s.ModuleID == objCoteModule.ModuleID)).ModuleIDPath;
             objSys_ModuleList.RemoveAll(s => s.ModuleIDPath.StartsWith(ModuleIDPath));
             objSys_ModuleList.AddRange(from s in rule.Sys_Module
                 where (s.ModuleIDPath.StartsWith(ModuleIDPath) && s.IsPower) && !s.IsSupperPower
                 select s);
         }
         else
         {
             allCoteInfoList = this.GetCoteInfoKeyList((from s in source select s.CoteID).Distinct<string>().ToList<string>().ConvertListToString<string>());
         }
     }
     XmlElement element = xmlDocSource.CreateElement("Module");
     element.SetAttribute("ModuleID", RolePowerKey.Create(objCoteModule.ModuleID).ToKey);
     element.SetAttribute("ModuleName", objCoteModule.ModuleName);
     if (AuthorizeGroupID.IsNull() || (source == null))
     {
         XmlElement newChild = xmlDocSource.CreateElement("Module");
         newChild.SetAttribute("ModuleID", RolePowerKey.Create(objCoteModule.ModuleID, objCoteModule.ModuleID, objCoteModule.ModuleID, false, true).ToKey);
         newChild.SetAttribute("ModuleName", "***" + objCoteModule.ModuleName + "***所有权限");
         element.AppendChild(newChild);
     }
     foreach (CoteInfo info in allCoteInfoList)
     {
         XmlElement element3 = xmlDocSource.CreateElement("Module");
         element3.SetAttribute("ModuleID", RolePowerKey.Create(objCoteModule.ModuleID, info.ID, objCoteModule.ModuleID, false).ToKey);
         element3.SetAttribute("ModuleName", info.Name);
         element.AppendChild(element3);
         this.CreateEachModeuleXmlElement(xmlDocSource, info.ID, objCoteModule.ModuleID, objCoteModule, element3, objSys_ModuleList, source, AddSys_ModuleList);
     }
     return element;
 }
Beispiel #5
0
        private void CreateChildShareModeuleXmlElement(XmlDocument xmlDocSource, string ShareModuleID, string CoteID, string ModuleID, string ParentModuleID, bool IsEdit, string ModuleCode, XmlElement objXmlElement, List <WTF.Power.Entity.Sys_Module> objSys_ModuleList, List <WTF.Power.Entity.Sys_Module> AddSys_ModuleList)
        {
            Func <WTF.Power.Entity.Sys_Module, bool> predicate = null;
            Func <WTF.Power.Entity.Sys_Module, bool> func2     = null;
            string SearchModuleID = ModuleID;

            if (IsEdit)
            {
                if (predicate == null)
                {
                    predicate = s => (!s.IsEdit && (s.ParentModuleID == ParentModuleID)) && (s.ModuleCode == ModuleCode);
                }
                WTF.Power.Entity.Sys_Module module = objSys_ModuleList.FirstOrDefault <WTF.Power.Entity.Sys_Module>(predicate);
                if (module != null)
                {
                    SearchModuleID = module.ModuleID;
                }
                else if (AddSys_ModuleList != null)
                {
                    if (func2 == null)
                    {
                        func2 = s => (!s.IsEdit && (s.ParentModuleID == ParentModuleID)) && (s.ModuleCode == ModuleCode);
                    }
                    module = AddSys_ModuleList.FirstOrDefault <WTF.Power.Entity.Sys_Module>(func2);
                    if (module != null)
                    {
                        SearchModuleID = module.ModuleID;
                    }
                }
            }
            foreach (WTF.Power.Entity.Sys_Module module2 in from p in objSys_ModuleList
                     where p.ParentModuleID == SearchModuleID
                     orderby p.SortIndex
                     select p)
            {
                XmlElement newChild = xmlDocSource.CreateElement("Module");
                newChild.SetAttribute("ModuleID", RolePowerKey.Create(ShareModuleID, CoteID, module2.ModuleID, true).ToKey);
                newChild.SetAttribute("ModuleName", module2.ModuleName);
                objXmlElement.AppendChild(newChild);
                this.CreateChildShareModeuleXmlElement(xmlDocSource, ShareModuleID, CoteID, module2.ModuleID, module2.ParentModuleID, module2.IsEdit, module2.ModuleCode, newChild, objSys_ModuleList, AddSys_ModuleList);
            }
        }
 private void CreateCoteChildMenuPowerXmlElement(XmlDocument xmlDocSource, string ParentID, Sys_Module objCoteModule, XmlElement objXmlElement, List <CoteInfo> objCoteInfoList, List <Sys_Module> objSys_ModuleList, List <sys_authorizegrouppower> objCoteRolePowerList, List <Sys_Module> AddSys_ModuleList)
 {
     using (IEnumerator <CoteInfo> enumerator = (from s in objCoteInfoList
                                                 where s.ParentID == ParentID
                                                 select s).GetEnumerator())
     {
         while (enumerator.MoveNext())
         {
             Func <CoteInfo, bool> predicate = null;
             CoteInfo   objCoteInfo          = enumerator.Current;
             XmlElement newChild             = xmlDocSource.CreateElement("Module");
             newChild.SetAttribute("ModuleID", RolePowerKey.Create(objCoteModule.ModuleID, objCoteInfo.ID, objCoteModule.ModuleID, false).ToKey);
             newChild.SetAttribute("ModuleName", objCoteInfo.Name);
             objXmlElement.AppendChild(newChild);
             bool isCoteSupper = this.ParentIsCoteSupper(objCoteInfo, objCoteInfoList, objCoteRolePowerList);
             if (predicate == null)
             {
                 predicate = s => s.ParentID == objCoteInfo.ID;
             }
             if (objCoteInfoList.Any <CoteInfo>(predicate))
             {
                 if (this.CurrentAuthorizeGroupID.IsNull() || isCoteSupper)
                 {
                     XmlElement element2 = xmlDocSource.CreateElement("Module");
                     element2.SetAttribute("ModuleID", RolePowerKey.Create(objCoteModule.ModuleID, objCoteInfo.ID, objCoteModule.ModuleID, false, true).ToKey);
                     element2.SetAttribute("ModuleName", "***" + objCoteInfo.Name + "***所有权限");
                     newChild.AppendChild(element2);
                 }
                 if (this.IsParentUrl)
                 {
                     this.CreateEachModeuleXmlElement(xmlDocSource, objCoteInfo.ID, objCoteModule.ModuleID, isCoteSupper, objCoteModule, newChild, objSys_ModuleList, objCoteRolePowerList, AddSys_ModuleList);
                 }
             }
             else
             {
                 this.CreateEachModeuleXmlElement(xmlDocSource, objCoteInfo.ID, objCoteModule.ModuleID, isCoteSupper, objCoteModule, newChild, objSys_ModuleList, objCoteRolePowerList, AddSys_ModuleList);
             }
             this.CreateCoteChildMenuPowerXmlElement(xmlDocSource, objCoteInfo.ID, objCoteModule, newChild, objCoteInfoList, objSys_ModuleList, objCoteRolePowerList, AddSys_ModuleList);
         }
     }
 }
        public XmlElement GetCotePowerXmlElement(XmlDocument xmlDocSource, string AuthorizeGroupID, Sys_Module objCoteModule, List <Sys_Module> objSys_ModuleList, List <Sys_Module> AddSys_ModuleList)
        {
            this.CurrentAuthorizeGroupID = AuthorizeGroupID;
            List <CoteInfo> source = null;
            List <sys_authorizegrouppower> authorizeGroupCotePower = null;

            if (AuthorizeGroupID.IsNull())
            {
                source = this.GetAllCoteInfoList();
            }
            else
            {
                authorizeGroupCotePower = this.GetAuthorizeGroupCotePower(AuthorizeGroupID, objCoteModule.ModuleID);
                if (authorizeGroupCotePower.Count == 0)
                {
                    return(null);
                }
                if (authorizeGroupCotePower.Any <sys_authorizegrouppower>(s => s.IsCoteSupper))
                {
                    source = new List <CoteInfo>();
                    foreach (string str in (from s in authorizeGroupCotePower
                                            where s.IsCoteSupper
                                            select s.CoteID).Distinct <string>())
                    {
                        source.AddRange(this.GetAllCoteInfoList(str));
                    }
                    source.AddRange(this.GetCoteInfoKeyList((from s in authorizeGroupCotePower
                                                             where !s.IsCoteSupper
                                                             select s.CoteID).Distinct <string>().ToList <string>().ConvertListToString <string>()));
                    ModuleRule rule         = new ModuleRule();
                    string     ModuleIDPath = rule.Sys_Module.FirstOrDefault <Sys_Module>(s => (s.ModuleID == objCoteModule.ModuleID)).ModuleIDPath;
                    objSys_ModuleList.RemoveAll(s => s.ModuleIDPath.StartsWith(ModuleIDPath));
                    objSys_ModuleList.AddRange(from s in rule.Sys_Module
                                               where (s.ModuleIDPath.StartsWith(ModuleIDPath) && s.IsPower) && !s.IsSupperPower
                                               select s);
                }
                else
                {
                    source = this.GetCoteInfoKeyList((from s in authorizeGroupCotePower select s.CoteID).Distinct <string>().ToList <string>().ConvertListToString <string>());
                }
            }
            source = source.Distinct <CoteInfo>(new CoteInfoComparer()).ToList <CoteInfo>();
            CoteInfo objCoteInfo = source.FirstOrDefault <CoteInfo>(s => s.ID == this.RootIDValue);

            if (objCoteInfo == null)
            {
                return(null);
            }
            XmlElement objXmlElement = xmlDocSource.CreateElement("Module");

            objXmlElement.SetAttribute("ModuleID", RolePowerKey.Create(objCoteModule.ModuleID, objCoteInfo.ID, objCoteModule.ModuleID, false).ToKey);
            objXmlElement.SetAttribute("ModuleName", objCoteModule.ModuleName);
            bool isCoteSupper = false;

            if (AuthorizeGroupID.IsNull() || authorizeGroupCotePower.Any <sys_authorizegrouppower>(s => ((s.CoteID == objCoteInfo.ID) && s.IsCoteSupper)))
            {
                isCoteSupper = true;
                XmlElement newChild = xmlDocSource.CreateElement("Module");
                newChild.SetAttribute("ModuleID", RolePowerKey.Create(objCoteModule.ModuleID, objCoteInfo.ID, objCoteModule.ModuleID, false, true).ToKey);
                newChild.SetAttribute("ModuleName", "***" + objCoteModule.ModuleName + "***所有权限");
                objXmlElement.AppendChild(newChild);
            }
            if (source.Any <CoteInfo>(s => s.ParentID == objCoteInfo.ID))
            {
                if (this.IsParentUrl)
                {
                    this.CreateEachModeuleXmlElement(xmlDocSource, objCoteInfo.ID, objCoteModule.ModuleID, isCoteSupper, objCoteModule, objXmlElement, objSys_ModuleList, authorizeGroupCotePower, AddSys_ModuleList);
                }
            }
            else
            {
                this.CreateEachModeuleXmlElement(xmlDocSource, objCoteInfo.ID, objCoteModule.ModuleID, isCoteSupper, objCoteModule, objXmlElement, objSys_ModuleList, authorizeGroupCotePower, AddSys_ModuleList);
            }
            this.CreateCoteChildMenuPowerXmlElement(xmlDocSource, objCoteInfo.ID, objCoteModule, objXmlElement, source, objSys_ModuleList, authorizeGroupCotePower, AddSys_ModuleList);
            return(objXmlElement);
        }
Beispiel #8
0
        private void CreatePowerChildElement(XmlDocument xmlDocSource, string AuthorizeGroupID, string ModuleID, string ParentModuleID, bool IsEdit, string ModuleCode, XmlElement objXmlElement, List <WTF.Power.Entity.Sys_Module> objSys_ModuleList, List <WTF.Power.Entity.Sys_Module> AddSys_ModuleList)
        {
            Func <WTF.Power.Entity.Sys_Module, bool> predicate = null;
            Func <WTF.Power.Entity.Sys_Module, bool> func3     = null;
            string SearchModuleID = ModuleID;

            if (IsEdit)
            {
                if (predicate == null)
                {
                    predicate = s => (!s.IsEdit && (s.ParentModuleID == ParentModuleID)) && (s.ModuleCode == ModuleCode);
                }
                WTF.Power.Entity.Sys_Module module = objSys_ModuleList.FirstOrDefault <WTF.Power.Entity.Sys_Module>(predicate);
                if (module != null)
                {
                    SearchModuleID = module.ModuleID;
                }
                else if (AddSys_ModuleList != null)
                {
                    if (func3 == null)
                    {
                        func3 = s => (!s.IsEdit && (s.ParentModuleID == ParentModuleID)) && (s.ModuleCode == ModuleCode);
                    }
                    module = AddSys_ModuleList.FirstOrDefault <WTF.Power.Entity.Sys_Module>(func3);
                    if (module != null)
                    {
                        SearchModuleID = module.ModuleID;
                    }
                }
            }
            using (IEnumerator <WTF.Power.Entity.Sys_Module> enumerator = (from p in objSys_ModuleList
                                                                           where p.ParentModuleID == SearchModuleID
                                                                           orderby p.SortIndex
                                                                           select p).GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    Func <WTF.Power.Entity.Sys_Module, bool> func = null;
                    WTF.Power.Entity.Sys_Module objModule         = enumerator.Current;
                    if (objModule.ModuleCoteID > 0)
                    {
                        if (func == null)
                        {
                            func = s => s.ModuleIDPath.StartsWith(objModule.ModuleIDPath);
                        }
                        XmlElement newChild = this.CreateCoteModeule(xmlDocSource, AuthorizeGroupID, objModule, objSys_ModuleList.Where <WTF.Power.Entity.Sys_Module>(func).ToList <WTF.Power.Entity.Sys_Module>(), AddSys_ModuleList);
                        if (newChild != null)
                        {
                            objXmlElement.AppendChild(newChild);
                        }
                    }
                    else
                    {
                        XmlElement element2 = xmlDocSource.CreateElement("Module");
                        element2.SetAttribute("ModuleID", RolePowerKey.Create(objModule.ModuleID).ToKey);
                        element2.SetAttribute("ModuleName", objModule.ModuleName);
                        objXmlElement.AppendChild(element2);
                        if (objModule.ShareModuleID.IsNoNull())
                        {
                            this.CreateChildShareModeuleXmlElement(xmlDocSource, objModule.ShareModuleID, objModule.ModuleID, objModule.ShareModuleID, objModule.ShareModuleID, objModule.IsEdit, objModule.ModuleCode, element2, objSys_ModuleList, AddSys_ModuleList);
                        }
                        else
                        {
                            this.CreatePowerChildElement(xmlDocSource, AuthorizeGroupID, objModule.ModuleID, objModule.ParentModuleID, objModule.IsEdit, objModule.ModuleCode, element2, objSys_ModuleList, AddSys_ModuleList);
                        }
                    }
                }
            }
        }