public void Process(ExpenseData expense) { using (ProcessContext contex = new ProcessContext()) { foreach (var processStep in steps) { bool shouldContinue = processStep.Process(expense, contex); if (!shouldContinue) { HandlePartialResult(contex); } } HandleCompleteResult(contex, expense); } }
private void HandlePartialResult(ProcessContext contex) { }
private void HandleCompleteResult(ProcessContext contex, ExpenseData expense) { }