private void WorkItemWasSuccessful(AbstractBatchedWorkItem workItem, bool batchDone) { _results.Add(workItem.Result); if (batchDone) { Status = WorkStatus.Successful; } }
public bool WorkDone(AbstractBatchedWorkItem workItem) { if (_workBatchSize <= 0) { throw new ApplicationException("Batch completed"); } Interlocked.Decrement(ref _workBatchSize); CompletedWorkItems.Add(workItem); return(_workBatchSize == 0); }
public bool WorkDone(AbstractBatchedWorkItem workItem) { if (_workBatchSize <= 0) { throw new ApplicationException("Batch completed"); } var batchDone = Interlocked.Decrement(ref _workBatchSize) == 0; if (workItem.Status == WorkStatus.Failed) { Status = WorkStatus.Failed; } else { WorkItemWasSuccessful(workItem, batchDone); } return(batchDone); }