public static bool RunByName(TaskContext c, WorkflowNames name) { bool result = false; Workflow wf = Workflow.Load(name); result = wf.Run(c); return result; }
public bool Run(TaskContext c) { bool result = true; for (int i = 0; i <= _Tasks.Count - 1; i++) { bool taskResult = false; try { taskResult = _Tasks[i].Execute(c); } catch (Exception ex) { if (!(ex is System.Threading.ThreadAbortException)) { taskResult = false; c.Errors.Add(new WorkflowMessage("EXCEPTION", ex.Message, false)); EventLog.LogEvent(ex); } } if (taskResult == false) { result = false; Rollback(i, c); return false; } } return result; }
private bool Rollback(int startFromStepIndex, TaskContext c) { bool result = true; for (int i = startFromStepIndex; i >= 0; i += -1) { if (_Tasks[i].Rollback(c) == false) { result = false; } } return result; }
public override bool Execute(TaskContext context) { return Execute((ShippingTaskContext)context); }
public override bool Rollback(TaskContext context) { return Rollback((ShippingTaskContext)context); }
public override bool Rollback(TaskContext context) { return true; }
public override bool Execute(TaskContext context) { return false; }
public abstract bool Rollback(TaskContext context);
public abstract bool Execute(TaskContext context);
public override bool Execute(TaskContext context) { return Execute((OrderTaskContext)context); }
public override bool Rollback(TaskContext context) { return Rollback((OrderTaskContext)context); }
public override bool Execute(TaskContext context) { return(Execute((OrderTaskContext)context)); }
public override bool Rollback(TaskContext context) { return(Rollback((OrderTaskContext)context)); }