Exemplo n.º 1
0
        /// <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() },
            });
        }
Exemplo n.º 2
0
        /// <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() }
            });
        }