public Models.DatabaseList GetDatabases(string UserName, string Password, string domain = "") { Models.DatabaseList DatabaseList = new Models.DatabaseList(); try { var api = new Requests.ConnectorApi(ConfigurationManager.AppSettings["Square9Api"], domain + @"\" + UserName, Password); DatabaseList = api.Requests.UserRequests.GetDatabaseList(); } catch (Exception ex) { throw new Exception("Unable to return list of Secured Users: " + ex.Message); } return(DatabaseList); }
public Models.DatabaseList GetDatabaseList() { Models.DatabaseList DatabaseList = new Models.DatabaseList(); var request = new RestRequest("api/dbs/"); var usersResponse = ApiClient.Execute <Models.DatabaseList>(request); //MemoryStream stream1 = new MemoryStream(); //DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(List<Models.Database>)); //List<Models.Database> data = (List<Models.Database>)ser.ReadObject(stream1); //var serializer = new JavaScriptSerializer(); //DatabaseList = serializer.Deserialize<List<Models.Database>>(usersResponse.Content.ToString()); DatabaseList = JsonConvert.DeserializeObject <Models.DatabaseList>(usersResponse.Content); //DatabaseList = usersResponse.Content; return(DatabaseList); }
public HttpResponseMessage DatabaseList() { Models.DatabaseList DatabaseList = new Models.DatabaseList(); IEnumerable <string> headerValues; var nameFilter = string.Empty; var authHeader = string.Empty; try { if (Request.Headers.TryGetValues("Authorization", out headerValues)) { authHeader = headerValues.FirstOrDefault(); } var domain = ""; var username = ""; var password = ""; if (authHeader != null && authHeader.StartsWith("Basic")) { string encodedUsernamePassword = authHeader.Substring("Basic ".Length).Trim(); Encoding encoding = Encoding.GetEncoding("iso-8859-1"); string usernamePassword = encoding.GetString(Convert.FromBase64String(encodedUsernamePassword)); int seperatorIndex = usernamePassword.IndexOf(':'); int domainSeperatorIndex = (usernamePassword.IndexOf('\\') + 1); domain = usernamePassword.Substring(0, domainSeperatorIndex - 1); username = usernamePassword.Substring(domainSeperatorIndex, seperatorIndex - domainSeperatorIndex); password = usernamePassword.Substring(seperatorIndex + 1); } else { //Handle what happens if that isn't the case return(Request.CreateResponse(HttpStatusCode.Forbidden, "Unable to return database list. Authorization header is either empty or isn't Basic.")); } Logic.UsersLogic logic = new Logic.UsersLogic(); DatabaseList = logic.GetDatabases(username, password, domain); return(Request.CreateResponse(HttpStatusCode.OK, DatabaseList)); } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.Forbidden, "Unable to return database list: " + ex.Message)); } }