Пример #1
0
 private void button24_Click(object sender, EventArgs e)
 {
     AuthorityMapping mapping = new AuthorityMapping
     {
         AuthNode = new List <AuthorityMappingNode>
         {
             new AuthorityMappingNode {
                 Name = "录单", Item = new List <AuthorityItem> {
                     new AuthorityItem {
                         ModuleID = "2", ActionID = "1"
                     }
                 },
             },
             new AuthorityMappingNode {
                 Name = "房产管理", Item = new List <AuthorityItem> {
                     new AuthorityItem {
                         ModuleID = "3", ActionID = "2"
                     }
                 },
             }
         }
     };
     string xml = XMLHelper.Serialize(mapping);
     //File.WriteAllText("AuthorityMapping.xml", xml);
 }
Пример #2
0
        public List <AuthorityNodeForCheck> QueryAuthority()
        {
            AuthorityMapping             mapping = XMLHelper.DeserializeFromFile <AuthorityMapping>(Common.AuthorityMappingFile);
            List <AuthorityNodeForCheck> result  = new List <AuthorityNodeForCheck>();

            foreach (var auth in mapping.AuthNode)
            {
                result.Add(new AuthorityNodeForCheck {
                    ID = auth.ID, Checked = auth.Checked, Name = auth.Name
                });
            }
            return(result);
        }
Пример #3
0
        /// <summary>
        /// 查询角色
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        public List <FullRoleInfo> Query(RoleQueryForm form)
        {
            ISqlMapper            mapper = Common.GetMapperFromSession();
            RoleDao               dao    = new RoleDao(mapper);
            Role_Module_ActionDao rmadao = new Role_Module_ActionDao(mapper);
            List <FullRoleInfo>   result = new List <FullRoleInfo>();

            form.IsDeleted = 0;
            var roles   = dao.Query(form);
            var roleids = (from r in roles select r.ID).ToList();
            var rmas    = rmadao.Query(new Role_Module_ActionQueryForm {
                RoleIDs = roleids
            });
            AuthorityMapping mapping = XMLHelper.DeserializeFromFile <AuthorityMapping>(Common.AuthorityMappingFile);

            foreach (var role in roles)
            {
                var data       = role.ConvertTo <FullRoleInfo>();
                var parentrole = roles.Find(t => t.ID == role.ParentID);
                if (parentrole != null)
                {
                    data.ParentRoleName = parentrole.Name;
                }
                #region 查询权限
                var role_rmas = rmas.FindAll(t => t.RoleID.Equals(role.ID));
                data.Authority = new List <AuthorityNodeForCheck>();
                foreach (var auth in mapping.AuthNode)
                {
                    auth.Checked = (from au in auth.Item
                                    from r in role_rmas
                                    where au.ModuleID == r.ModuleID && au.ActionID == r.ActionID
                                    select au).Count() == auth.Item.Count;
                    data.Authority.Add(new AuthorityNodeForCheck {
                        ID = auth.ID, Checked = auth.Checked, Name = auth.Name
                    });
                }
                #endregion
                result.Add(data);
            }
            return(result);
        }
Пример #4
0
 private void AddRoleAuth(ISqlMapper mapper, AddRoleServiceForm form, string roleid)
 {
     #region 权限新增
     //权限操作
     Role_Module_ActionDao rmadao  = new Role_Module_ActionDao(mapper);
     List <Module>         modules = TableCacheHelper.GetDataFromCache <Module>(typeof(ModuleDao));
     List <Model.Action>   actions = TableCacheHelper.GetDataFromCache <Model.Action>(typeof(ActionDao));
     AuthorityMapping      mapping = XMLHelper.DeserializeFromFile <AuthorityMapping>(Common.AuthorityMappingFile);
     foreach (var auth in form.Authority)
     {
         if (!auth.Checked)
         {
             continue;
         }
         var authonode = mapping.AuthNode.Find(t => t.ID.Equals(auth.ID));
         if (authonode == null)
         {
             continue;
         }
         AddAuth(authonode.Item, roleid, rmadao);
     }
     #endregion
 }