Example #1
0
        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"));
        }
Example #2
0
 public virtual SalesforceResponse CloseBulkJob(string jobId)
 {
     return(PerformGenericRequest <SalesforceResponse>(BulkRequestManager.GetCloseJobRequest(jobId, Login()), "jobInfo"));
 }
Example #3
0
 public virtual JobInfo QueryBulkJob(string jobId)
 {
     return(PerformGenericRequest <JobInfo>(BulkRequestManager.GetQueryJobRequest(jobId, Login()), "jobInfo"));
 }
Example #4
0
 public virtual JobInfo CreateBulkJob <T>(JobConfig config)
 {
     return(PerformGenericRequest <JobInfo>(BulkRequestManager.GetStartJobRequest <T>(config, Login()), "jobInfo"));
 }