我有一个代表一个过程的类
internal class IntegrationWithSalesforce
{
public IntegrationWithSalesforce()
{ // Initialize internal variables }
public bool GetListOfCustomersToImport() { ... }
public bool CreateSalesforceJob() { ... }
public bool CreateJobBatches() { ... }
public bool CloseSalesforceJob() { ... }
public void UpdateBatchesProcessingInfo() { ... }
public bool AbortJob() { ... }
}
Run Code Online (Sandbox Code Playgroud)
方法应按特定顺序执行,直到您调用CloseSalesforceJob.
我想强制执行这个执行顺序:1-类初始化2-调用GetListOfCustomersToImport如果为真3调用CreateSalesforceJob如果为真4调用CreateJobBatches如果为真5调用CloseSalesforceJob 6-然后继续调用UpdateBatchesProcessingInfo直到所有批次状态都有值Completed,Failed
我的第一个想法是使用表示状态(或执行)的布尔变量,并在调用方法时将与方法相关的一个设置为true,或者如果方法不是下一个顺序则抛出自定义异常ProcessOrderExecutionException.
例如:
// add this variable to my class
bool processInitialized = false;
bool customerSumaryListRetrieved = false;
bool salesforceJobSuccessfullyCreated = false;
bool salesforceBatchesSuccessfullyCreated = false;
Run Code Online (Sandbox Code Playgroud)
a)方法GetListOfCustomersToImport实现
public …Run Code Online (Sandbox Code Playgroud)