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