internal static string[][] GetDataRoles(string userid, string itsystem)
        {
            UserResponse response = GetRoles(userid, itsystem);

            // default empty result
            string[][] result = new string[0][];

            if (response.dataRoles != null && response.dataRoles.ToArray().Length > 0)
            {
                string[] dataRoles = response.dataRoles.ToArray();

                result = new string[dataRoles.Length][];
                for (int i = 0; i < dataRoles.Length; i++)
                {
                    result[i] = new string[1] {
                        dataRoles[i]
                    };
                }
            }

            if (response.dataRoles != null)
            {
                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("RoleMap: " + RoleMapToString(response.roleMap));
                AttributeStoreLogger.Info(builder.ToString());
            }

            return(result);
        }
        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);
        }