Purpose: An entry state task is a task that can be configured to be called by FluentWorkfow.  The task will execute upon entry into the state according to the workflow configuration rules and hierarchy.

In order to create an Entry State Task, we create a public class that derives from the interface IEntryStateTask<TState, TTrigger, TTriggerContext>.  Note that the workflow does not have to specified here.

There is alone interface that needs to be implemented called:

   1:  /// <summary>
   2:  /// Executes the specified exit state step info.
   3:  /// </summary>
   4:  /// <param name="exitStateTaskInfo">The exit state step info.</param>
   5:  void Execute(EntryStateTaskInfo<TState, TTrigger, TTriggerContext> entryStateTaskInfo);

Notice how the ICommentMessaging is foreign to FluentWorkflow – it’s a good example of an implementation you draw up in your system and register it with the container.  From a testing perspective, you will notice that this is very easy to test – almost trivial.  There is virtually no limit to the number of things you can do inside an ‘Execute’ method. 

Last edited Jan 1, 2011 at 11:17 AM by sdhebert, version 2


No comments yet.