示例#1
0
        /// <summary>
        /// Gets a specific revision for a given job
        /// </summary>
        /// <param name="jobId">The job ID</param>
        /// <param name="revisionId">The revision ID</param>
        /// <returns>Task yielding revision data</returns>
        public async Task <Revision> GetRevision(int jobId, int revisionId)
        {
            var uri = string.Format(UriPartRevision, jobId, revisionId);

            var rev = await _client.GetJsonPropertyAsync <JObject>("revision", uri, true);

            return(new Revision(rev));
        }
示例#2
0
        /// <summary>
        /// Gets information about a series of specified jobs
        /// </summary>
        /// <param name="jobIds">The IDs of jobs to retrieve</param>
        /// <returns>Task yielding array of jobs</returns>
        public async Task <SubmittedJob[]> GetJobsByIds(IEnumerable <int> jobIds)
        {
            if (jobIds == null)
            {
                throw new ArgumentNullException("jobIds");
            }

            var sb = new StringBuilder("/");

            foreach (var item in jobIds)
            {
                if (item <= 0)
                {
                    throw new ArgumentException(
                              Resources.InvalidJobIdProvided, "jobIds");
                }

                if (sb.Length > 1)
                {
                    sb.Append(",");
                }

                sb.Append(item);
            }

            if (sb.Length == 1)
            {
                return(new SubmittedJob[] { });
            }

            var url = UriPartJobsEndpoint + sb.ToString();
            var arr = await _client.GetJsonPropertyAsync <JArray>("jobs", url, true);

            return(arr.Values <JObject>().Select(
                       o => new SubmittedJob(o)).ToArray());
        }