/// <summary>
        /// Retrieves status of an operation in your Customer Engagement instance.
        /// </summary>
        /// <param name="getOperationStatusRequest">The get operation status request.</param>
        /// <returns>
        /// Operation result.
        /// </returns>
        public async Task <OperationStatusResponse> GetOperationStatus(GetOperationStatusRequest getOperationStatusRequest)
        {
            OperationStatus result = null;

            this.ConnectToApi();

            var request  = new HttpRequestMessage(HttpMethod.Get, $"/api/v1/Operation/{getOperationStatusRequest.OperationId}");
            var response = await _httpClient.SendAsync(request);

            var rawResult = response.Content.ReadAsStringAsync().Result;

            if (response.IsSuccessStatusCode)
            {
                Trace.TraceInformation($"Retrieving operation result: \n{rawResult}");
            }
            else
            {
                Trace.TraceError($"The request failed with a status of '{response.ReasonPhrase}'");
            }

            result = JsonConvert.DeserializeObject <OperationStatus>(rawResult);

            return(new OperationStatusResponse()
            {
                IsSuccess = response.IsSuccessStatusCode, OperationStatus = result
            });
        }
コード例 #2
0
        public async Task <Operation> GetOperationStatus(string requestId)
        {
            if (string.IsNullOrEmpty(requestId))
            {
                throw new ArgumentNullException(nameof(requestId));
            }

            var getOperationStatusRequest = new GetOperationStatusRequest(this.client);

            return(await getOperationStatusRequest.Submit(requestId));
        }