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); }
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); }
/// <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); }
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 }