//public static void SetInstInfo(DataRow row, DataRow mainRow, DbContext context, string infoFieldName, string columnName) //{ // int sharpP = columnName.IndexOf("#", StringComparison.CurrentCulture); // if (sharpP > -1) // { // string fieldName = columnName.Substring(0, sharpP); // string easySearchName = columnName.Substring(sharpP + 1); // EasySearch search = PlugInFactoryManager.CreateInstance<EasySearch>("EasySearch", easySearchName); // string infoValue = search.Decode(context, mainRow[fieldName].ToString()); // row[infoFieldName] = infoValue; // } // else // { // row[infoFieldName] = mainRow[columnName]; // } //} public static void SaveError(WF_WORKFLOW_INST workflowRow, WorkflowException wfException) { ErrorConfig error = wfException.ErrorConfig; if (workflowRow.WI_STATUS.Value <StepState>() != StepState.Mistake) { workflowRow.WI_STATUS = StepState.Mistake.Value <int>(); workflowRow.WI_ERROR_TYPE = (int)wfException.Reason; workflowRow.WI_MAX_RETRY_TIMES = error.RetryTimes; } workflowRow.WI_RETRY_TIMES = workflowRow.WI_RETRY_TIMES.Value <int>() + 1; workflowRow.WI_NEXT_EXE_DATE = DateTime.Now.Add(error.Interval); }
private bool SetWorkflowException(WorkflowException wfException) { bool continueRun; switch (wfException.ErrorConfig.ProcessType) { //case ErrorProcessType.Abort: // //WorkflowResolver.ta // StepUtil.ErrorAbort(Source, WorkflowRow); // continueRun = false; // IsFinish = true; // break; //case ErrorProcessType.Retry: // if (WorkflowRow.WI_RETRY_TIMES.Value<int>() < wfException.ErrorConfig.RetryTimes) // { // //保存重试信息 // WorkflowInstUtil.SaveError(WorkflowRow, wfException); // UpdateState(CurrentStep.GetState(StepState.Mistake)); // Source.Submit(); // continueRun = false; // } // else // { // CurrentStep.ClearDataSet(); // StepUtil.OverTryTimesAbort(Source, WorkflowRow); // continueRun = false; // IsFinish = true; // } // break; default: continueRun = false; break; } return(continueRun); }