public List<UserRoleInfo> UserRoles() { var userRoles = new UserRoles(Client.Ticket, Token, Client.AccountDomain, ApplicationId); var xml = userRoles.Post().CreateNavigator(); var userRoleInfos = new List<UserRoleInfo>(); var userNodes = xml.Select("/qdbapi/users/user"); foreach (XPathNavigator user in userNodes) { // User info var userId = user.GetAttribute("id", String.Empty); var name = user.SelectSingleNode("name").Value; var userRoleInfo = new UserRoleInfo(userId, name); // Role info var roleNodes = user.Select("roles/role"); foreach (XPathNavigator node in roleNodes) { var roleId = int.Parse(node.GetAttribute("id", String.Empty)); var roleName = node.SelectSingleNode("name").Value; var accessNode = node.SelectSingleNode("access"); var roleAccessId = int.Parse(accessNode.GetAttribute("id", String.Empty)); var roleAccess = accessNode.Value; userRoleInfo.AddRole(roleId, roleName, roleAccessId, roleAccess); } userRoleInfos.Add(userRoleInfo); } return userRoleInfos; }
public UserRoleInfo GetUserRole(string userId) { var getUserRole = new GetUserRole(Client.Ticket, Token, Client.AccountDomain, ApplicationId, userId); var xml = getUserRole.Post().CreateNavigator(); // User info var returnedUserId = xml.SelectSingleNode("/qdbapi/user").GetAttribute("id", String.Empty); var name = xml.SelectSingleNode("/qdbapi/user/name").Value; var userRoleInfo = new UserRoleInfo(returnedUserId, name); // Role info var roleNodes = xml.Select("/qdbapi/user/roles/role"); foreach (XPathNavigator node in roleNodes) { var roleId = int.Parse(node.GetAttribute("id", String.Empty)); var roleName = node.SelectSingleNode("name").Value; var accessNode = node.SelectSingleNode("access"); var roleAccessId = int.Parse(accessNode.GetAttribute("id", String.Empty)); var roleAccess = accessNode.Value; userRoleInfo.AddRole(roleId, roleName, roleAccessId, roleAccess); } return userRoleInfo; }