public async Task <BulkOperationStatus <UploadStatus> > GetCurrentStatus(
            ServiceClient <IBulkService> bulkServiceClient)
        {
            var request = new GetBulkUploadStatusRequest
            {
                RequestId = _requestId
            };

            var response =
                await
                bulkServiceClient.CallAsync((s, r) => s.GetBulkUploadStatusAsync(r), request).ConfigureAwait(false);

            return(new BulkOperationStatus <UploadStatus>
            {
                TrackingId = response.TrackingId,
                Status = response.RequestStatus.Parse <UploadStatus>(),
                ResultFileUrl = response.ResultFileUrl,
                PercentComplete = response.PercentComplete,
                Errors = response.Errors
            });
        }
        public async Task <GetBulkUploadStatusResponse> GetBulkUploadStatusAsync(ApiAuthentication auth, string requestId, long?accountId, long?customerId)
        {
            var request = new GetBulkUploadStatusRequest
            {
                CustomerAccountId = string.Format("{0}", accountId),
                CustomerId        = string.Format("{0}", customerId),
                RequestId         = requestId,
            };

            try
            {
                SetAuthHelper.SetAuth(auth, request);

                return(await Check().GetBulkUploadStatusAsync(request));
            }
            catch (Exception ex)
            {
                Log(new LogEventArgs(ServiceType.Bulk, "GetBulkUploadStatusAsync", ex.Message, new { Request = request }, ex));
            }

            return(null);
        }