internal ActionHandlerResult TryHandle(IActionCase actionCase) { ActionHandlerResult ret = null; if (Token.IsStateActive) { if (ActionUnits.Count > 0) { ActionUnit ou = ActionUnits.FirstOrDefault(x => x.TryHandle(actionCase)); ret = Handle(ou); if (ou != null && ou.TimeoutMs > 0) { Token.Reset(ou.TimeoutMs); } } } return(ret); }
internal ActionHandlerResult Start() { ActionHandlerResult ret = null; Token.Name = Name; CreateInstance(); CreateWorkflow(); Token.SetRunning(); if (ActionUnits.Count > 0) { ActionUnit ou = ActionUnits.FirstOrDefault(x => x is StartActionUnit); ret = Handle(ou); if (ou != null) { Token.Reset(ou.TimeoutMs); } } return(ret); }