/// <summary> /// Gets the projects. /// </summary> /// <param name="apiKey">The API key.</param> /// <returns></returns> public static Dictionary <string, object> GetProjects(string apiKey) { var client = new RestClient(GlasshouseShared.Utils.urlApi); var request = new RestRequest("projects", Method.GET); // easily add HTTP Headers request.AddHeader("access-token", apiKey); request.RequestFormat = DataFormat.Json; // execute the request IRestResponse response = client.Execute(request); if (response.StatusCode != System.Net.HttpStatusCode.OK) { return(null); } var content = response.Content; // raw content as string cProjects projects = JsonConvert.DeserializeObject <cProjects>(content); //var defaultStrings = (new int[10]).Select(x => "my value").ToList(); Dictionary <string, string> dict = new Dictionary <string, string>(); foreach (cProject p in projects.projects) { dict.Add(p.id, p.name); } foreach (cInvitedProject p in projects.invited_projects) { if (dict.ContainsKey(p.id) == false) { dict.Add(p.id, p.name); } } var items = from pair in dict orderby pair.Value ascending select pair; return(new Dictionary <string, object>() { //{ "names",names }, //{ "ids", ids} { "id", items.Select(x => x.Key).ToList() }, { "name", items.Select(x => x.Value).ToList() }, }); }
/// <summary> /// Gets the projects. /// </summary> /// <param name="apiKey">The API key.</param> /// <returns></returns> public static Dictionary <string, object> GetProjectsAllInfo(string apiKey) { var client = new RestClient(GlasshouseShared.Utils.urlApi); var request = new RestRequest("projects", Method.GET); // easily add HTTP Headers request.AddHeader("access-token", apiKey); request.RequestFormat = DataFormat.Json; // execute the request IRestResponse response = client.Execute(request); if (response.StatusCode != System.Net.HttpStatusCode.OK) { return(null); } var content = response.Content; // raw content as string cProjects projects = JsonConvert.DeserializeObject <cProjects>(content); //var defaultStrings = (new int[10]).Select(x => "my value").ToList(); return(new Dictionary <string, object>() { { "id", projects.projects.Select(x => x.id).Concat(projects.invited_projects.Select(x => x.id)).ToList() }, { "name", projects.projects.Select(x => x.name).Concat(projects.invited_projects.Select(x => x.name)).ToList() }, { "created_at", projects.projects.Select(x => x.created_at.ToString()).Concat(projects.invited_projects.Select(x => x.created_at.ToString())).ToList() }, { "is_processing", projects.projects.Select(x => x.is_processing.ToString()).Concat(projects.invited_projects.Select(x => x.is_processing.ToString())).ToList() }, { "url", projects.projects.Select(x => x.url).Concat(projects.invited_projects.Select(x => x.url)).ToList() }, { "invited", (new string[projects.projects.Count()]).Select(x => "False").Concat(projects.invited_projects.Select(x => "True")).ToList() } }); }