Exemplo n.º 1
0
        public async Task<int> RunAsync(string[] remainingArguments) {
            if (String.IsNullOrWhiteSpace(clientId)) {
                Console.Write("Client ID: ");
                clientId = Console.ReadLine();
            }

            if (String.IsNullOrWhiteSpace(clientSecret)) {
                Console.Write("Client Secret: ");
                clientSecret = Console.ReadLine();
            }
            
            if (!id.HasValue) {
                Console.Write("Job ID: ");
                string idString = Console.ReadLine();

                if (!String.IsNullOrWhiteSpace(idString)) {
                    id = int.Parse(idString);
                }
            }

            var info = await APIInfo.GetFromRemote(baseUrl, ApiArea.Integrations);
            
            var authApi = new AuthorizationApi(baseUrl, clientId, clientSecret);

            var authorization = authApi.GetApiClientAccessToken(new string[] { "Integrations.Jobs" });

            var factory = new IntegrationsApiFactory(info, authorization.AccessToken);
            var api = factory.GetJobsApi();

            var jobs = new List<JobModel>();

            if (id.HasValue) {
                var job = await api.GetJob(id.Value);
                jobs.Add(job);
            } else {
                var result = await api.GetJobs();
                jobs.AddRange(result);
            }

            foreach (var job in jobs) {
                Console.WriteLine("{1} ({0})",
                    job.ID,
                    job.Title
                );
            }

            return 0;
        }