private static bool CheckSystemRole(string userid, string roleId, string itsystem)
        {
            userid = GetUserId(userid);
            var client = new RestClient();

            var url = Configuration.GetInstance().RoleCatalogueUrl;

            if (!url.EndsWith("/"))
            {
                url = url + "/";
            }

            client.BaseUrl = new Uri(url + "api/user/" + userid + "/hasSystemRole/?roleIdentifier=" + Uri.EscapeDataString(roleId) + "&system=" + itsystem);

            var request = new RestRequest();

            request.AddHeader("ApiKey", Configuration.GetInstance().ApiKey);

            IRestResponse <UserResponse> response = client.Execute <UserResponse>(request);

            if (response.StatusCode.Equals(System.Net.HttpStatusCode.OK))
            {
                return(true);
            }
            else if (!response.StatusCode.Equals(System.Net.HttpStatusCode.NotFound))
            {
                AttributeStoreLogger.Warn("Failed to lookup roles for '" + userid + "' in RoleCatalogue. Status from RoleCatalogue was: " + response.StatusCode.ToString());
            }

            return(false);
        }
        public static string GetNameID(string userid)
        {
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

            userid = GetUserId(userid);
            var client = new RestClient();

            var url = Configuration.GetInstance().RoleCatalogueUrl;

            if (!url.EndsWith("/"))
            {
                url = url + "/";
            }

            client.BaseUrl = new Uri(url + "api/user/" + userid + "/nameid");

            var request = new RestRequest();

            request.AddHeader("ApiKey", Configuration.GetInstance().ApiKey);

            IRestResponse <UserResponse> response = client.Execute <UserResponse>(request);

            if (!response.StatusCode.Equals(System.Net.HttpStatusCode.OK))
            {
                AttributeStoreLogger.Warn("Failed to find '" + userid + "' in RoleCatalogue. Status from RoleCatalogue was: " + response.StatusCode.ToString());
                response.Data = new UserResponse()
                {
                    nameID = "Unknown User"
                };
            }

            return(response.Data.nameID);
        }
        public static string GetOIOBPP(string userid, string itsystem)
        {
            userid = GetUserId(userid);
            var client = new RestClient();

            var url = Configuration.GetInstance().RoleCatalogueUrl;

            if (!url.EndsWith("/"))
            {
                url = url + "/";
            }

            client.BaseUrl = new Uri(url + "api/user/" + userid + "/roles?system=" + itsystem);

            var request = new RestRequest();

            request.AddHeader("ApiKey", Configuration.GetInstance().ApiKey);

            IRestResponse <UserResponse> response = client.Execute <UserResponse>(request);

            if (!response.StatusCode.Equals(System.Net.HttpStatusCode.OK))
            {
                AttributeStoreLogger.Warn("Failed to find '" + userid + "' in RoleCatalogue. Status from RoleCatalogue was: " + response.StatusCode.ToString());
                response.Data = new UserResponse()
                {
                    oioBPP = "",
                    nameID = ""
                };
            }
            else
            {
                StringBuilder builder = new StringBuilder();
                builder.Append("Roles issued\n");
                builder.Append("Timestamp: " + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "\n");
                builder.Append("User: "******"\n");
                builder.Append("OIO-BPP: " + response.Data.oioBPP + "\n");
                builder.Append("RoleMap: " + RoleMapToString(response.Data.roleMap));
                AttributeStoreLogger.Info(builder.ToString());
            }

            return(response.Data.oioBPP);
        }