Um Workflow de máquina de estados permite que sejam efectuadas pesquisas sobre uma instância.

 Para tal deve-se usar um objecto da classe StateMachineWorkflowInstance (System.Workflow.Activities), que permite por exemplo obter a seguinte informação de uma instância:

  • O estado corrente;
  • As transições possiveis;
  • O Histórico das transições;
  • Enumerar todos os estados da máquina de estados

Exemplo

StateMachineWorkflowInstance stateMachineWorkflowInstance = new StateMachineWorkflowInstance(workflowRuntime, instanceId);

//obter o estado corrente
StateActivity currentStateActivity = stateMachineWorkflowInstance.CurrentState;

//obter os estados possíveis de acordo com o estado corrente
ReadOnlyCollection<string> possibleStateTransitions = stateMachineWorkflowInstance.PossibleStateTransitions;

//só funciona se SqlTrackingService está a ser usado
ReadOnlyCollection<string> stateHistory = stateMachineWorkflowInstance.StateHistory;

//obter todos os estados
ReadOnlyCollection<StateActivity> stateActivitiesList = stateMachineWorkflowInstance.States;

LEAVE A REPLY

Please enter your comment!
Please enter your name here