public async Task <DataJobStatusDetail> GetJobStatus(string messageId) { DataJobStatusDetail jobStatusDetail = null; /// get status UriBuilder statusUri = new UriBuilder(ClientConfiguration.Default.ActiveDirectoryResource); string activityId = ClientConfiguration.Default.CustomerImportActivityId; statusUri.Path = string.Format(@"api/connector/jobstatus/{0}", activityId); string statusQuery = string.Format("jobid={0}", messageId.Replace(@"""", "")); statusUri.Query = statusQuery; //send a request to get the message status AXUtilities axUtil = new AXUtilities(); var response = await axUtil.GetRequestAsync(statusUri.Uri); if (response.IsSuccessStatusCode) { // Deserialize response to the DataJobStatusDetail object jobStatusDetail = JsonConvert.DeserializeObject <DataJobStatusDetail>(response.Content.ReadAsStringAsync().Result); } else { } return(jobStatusDetail); }
public async Task <HttpResponseMessage> WaitForJob(string messageId) { DataJobStatusDetail jobStatusDetail = null; HttpResponseMessage responseMsg = Request.CreateResponse(HttpStatusCode.Accepted); string relativeUri = string.Empty; /// get status UriBuilder statusUri = new UriBuilder(ClientConfiguration.Default.ActiveDirectoryResource); string activityId = ClientConfiguration.Default.CustomerImportActivityId; statusUri.Path = string.Format(@"api/connector/jobstatus/{0}", activityId); string statusQuery = string.Format("jobid={0}", messageId.Replace(@"""", "")); statusUri.Query = statusQuery; //send a request to get the message status AXUtilities axUtil = new AXUtilities(); var response = await axUtil.GetRequestAsync(statusUri.Uri); if (response.IsSuccessStatusCode) { // Deserialize response to the DataJobStatusDetail object jobStatusDetail = JsonConvert.DeserializeObject <DataJobStatusDetail>(response.Content.ReadAsStringAsync().Result); if (jobStatusDetail != null) { if (jobStatusDetail.DataJobStatus.DataJobState == DataJobState.Processed || jobStatusDetail.DataJobStatus.DataJobState == DataJobState.ProcessedWithErrors) { responseMsg.StatusCode = HttpStatusCode.OK; } else { responseMsg.StatusCode = HttpStatusCode.Accepted; relativeUri = string.Format("{0}", messageId); responseMsg.Headers.Location = new Uri(Request.RequestUri, relativeUri); } } } else { } return(responseMsg); }