public async Task<string> Run(OperationType operation, string Object, BulkContentType contentType, string body, string externalIdFieldName=null)
 {
     if (_LoginTask != null)
         await _LoginTask;
     Job = await _Api.CreateJob(new JobCreationRequest { contentType = contentType, Object = Object, operation = operation, externalIdFieldName=externalIdFieldName });
     Batch = await _Api.AddBatch(body, Job.id);
     while (Batch.state == BatchState.Queued || Batch.state == BatchState.InProgress)
     {
         await System.Threading.Tasks.Task.Delay(5000);
         Batch = await _Api.GetBatchStatus(Batch);
         Job = await _Api.GetJobStatus(Job.id);
     }
     Results = await _Api.GetBatchResult(Batch.id, Batch.jobId);
     return Results;
 }
        public async Task <string> Run(OperationType operation, string Object, BulkContentType contentType, string body, string externalIdFieldName = null)
        {
            if (_LoginTask != null)
            {
                await _LoginTask;
            }
            Job = await _Api.CreateJob(new JobCreationRequest { contentType = contentType, Object = Object, operation = operation, externalIdFieldName = externalIdFieldName });

            Batch = await _Api.AddBatch(body, Job.id);

            while (Batch.state == BatchState.Queued || Batch.state == BatchState.InProgress)
            {
                await System.Threading.Tasks.Task.Delay(5000);

                Batch = await _Api.GetBatchStatus(Batch);

                Job = await _Api.GetJobStatus(Job.id);
            }
            Results = await _Api.GetBatchResult(Batch.id, Batch.jobId);

            return(Results);
        }