public virtual BatchInfo AddBatch <T>(IEnumerable <T> items, string jobId, int limit = 10000) where T : SObject { int count = items.Count(); // TODO: We need a better way of adding multiple batches if (count > limit) { IEnumerable <IEnumerable <T> > batches = items.Chunk(limit); BatchInfo response = new BatchInfo(); foreach (BatchInfo info in batches.Select(batch => PerformGenericRequest <BatchInfo>( BulkRequestManager.GetBatchRequest(batch.ToArray(), jobId, Login()), "batchInfo"))) { response.NumberRecordsProcessed += info.NumberRecordsProcessed; response.JobId = info.JobId; response.Id = info.Id; } return(response); } return(PerformGenericRequest <BatchInfo>(BulkRequestManager.GetBatchRequest(items.ToArray(), jobId, Login()), "batchInfo")); }
public virtual SalesforceResponse CloseBulkJob(string jobId) { return(PerformGenericRequest <SalesforceResponse>(BulkRequestManager.GetCloseJobRequest(jobId, Login()), "jobInfo")); }
public virtual JobInfo QueryBulkJob(string jobId) { return(PerformGenericRequest <JobInfo>(BulkRequestManager.GetQueryJobRequest(jobId, Login()), "jobInfo")); }
public virtual JobInfo CreateBulkJob <T>(JobConfig config) { return(PerformGenericRequest <JobInfo>(BulkRequestManager.GetStartJobRequest <T>(config, Login()), "jobInfo")); }