Ejemplo n.º 1
0
 /// <summary>
 /// The enable transition.
 /// </summary>
 /// <param name="transition">
 /// The transition.
 /// </param>
 public void EnableTransition(AtmTransition transition)
 {
     if (transition == this.TargetTransition)
     {
         this.waitHandle.Set();
     }
 }
        /// <summary>
        /// The resume transition.
        /// </summary>
        /// <param name="cmd">
        /// The transition.
        /// </param>
        /// <param name="data">
        /// The data to resume with.
        /// </param>
        private void ResumeCommand(AtmTransition cmd, object data)
        {
            this.workflowBusy.Reset();

            var result = this.AtmWorkflowHost.ResumeBookmark(cmd.ToString(), new AtmTransitionResult {
                Data = data
            });

            switch (result)
            {
            case BookmarkResumptionResult.NotFound:
                throw new InvalidOperationException(
                          string.Format(
                              "The StateMachine is not waiting for the transition {0} right now.  Make sure you added a transition with the correct WaitForTransition value",
                              cmd));

            case BookmarkResumptionResult.NotReady:
                throw new InvalidOperationException(string.Format("The StateMachine is not ready to handle the transition {0}", cmd));
            }
        }
 /// <summary>
 /// The enable transition.
 /// </summary>
 /// <param name="transition">
 /// The AtmTransition value
 /// </param>
 private void EnableTransition(AtmTransition transition)
 {
     this.WriteTrace(TraceLevel.Info, "Enable transition {0}", transition);
     this.transitionEnabled[transition] = true;
     this.atmViewModel.EnableTransition(transition);
 }
 /// <summary>
 /// Determines if a transition is enabled
 /// </summary>
 /// <param name="transition">
 /// The AtmTransition value.
 /// </param>
 /// <returns>
 /// true if the transition is enabled, false if not
 /// </returns>
 public bool IsTransitionEnabled(AtmTransition transition)
 {
     return(this.transitionEnabled[transition]);
 }
 /// <summary>
 /// Runs an action and waits for the target transition to become enabled
 /// </summary>
 /// <param name="action">
 /// The action.
 /// </param>
 /// <param name="atmTransition">
 /// The atm transition.
 /// </param>
 /// <param name="timeout">
 /// The timeout.
 /// </param>
 public void RunUntilTargetTransition(Action action, AtmTransition atmTransition, TimeSpan timeout)
 {
     this.TargetTransition = atmTransition;
     action();
     this.WaitForTargetTransitionEnabled(timeout);
 }
 /// <summary>
 /// Runs an action and waits for the target transition to become enabled
 /// </summary>
 /// <param name="action">
 /// The action.
 /// </param>
 /// <param name="atmTransition">
 /// The atm transition.
 /// </param>
 public void RunUntilTargetTransition(Action action, AtmTransition atmTransition)
 {
     this.RunUntilTargetTransition(action, atmTransition, this.DefaultTimeout);
 }
 /// <summary>
 /// The notify.
 /// </summary>
 /// <param name="transition">
 /// The notification.
 /// </param>
 /// <param name="payload">
 /// The payload
 /// </param>
 public void Notify(AtmTransition transition, object payload)
 {
     this.transitions.Add(transition);
 }
 /// <summary>
 /// The enable transition.
 /// </summary>
 /// <param name="transition">
 /// The transition.
 /// </param>
 public void EnableTransition(AtmTransition transition)
 {
     if (transition == this.TargetTransition)
     {
         this.waitHandle.Set();
     }
 }
 /// <summary>
 /// The notify.
 /// </summary>
 /// <param name="transition">
 /// The atm notification.
 /// </param>
 /// <param name="payload">
 /// The transition payload
 /// </param>
 public void Notify(AtmTransition transition, object payload)
 {
     this.Write(TraceLevel.Info, "Transition Event {0}", transition);
 }
 /// <summary>
 /// The model has notified that a command should be enabled
 /// </summary>
 /// <param name="transition">
 /// The command.
 /// </param>
 public void EnableTransition(AtmTransition transition)
 {
     RequeryCommands();
 }
Ejemplo n.º 11
0
 /// <summary>
 /// Runs an action and waits for the target transition to become enabled
 /// </summary>
 /// <param name="action">
 /// The action.
 /// </param>
 /// <param name="atmTransition">
 /// The atm transition.
 /// </param>
 /// <param name="timeout">
 /// The timeout.
 /// </param>
 public void RunUntilTargetTransition(Action action, AtmTransition atmTransition, TimeSpan timeout)
 {
     this.TargetTransition = atmTransition;
     action();
     this.WaitForTargetTransitionEnabled(timeout);
 }
Ejemplo n.º 12
0
 /// <summary>
 /// Runs an action and waits for the target transition to become enabled
 /// </summary>
 /// <param name="action">
 /// The action.
 /// </param>
 /// <param name="atmTransition">
 /// The atm transition.
 /// </param>
 public void RunUntilTargetTransition(Action action, AtmTransition atmTransition)
 {
     this.RunUntilTargetTransition(action, atmTransition, this.DefaultTimeout);
 }
Ejemplo n.º 13
0
 /// <summary>
 /// The notify.
 /// </summary>
 /// <param name="transition">
 /// The notification.
 /// </param>
 /// <param name="payload">
 /// The payload
 /// </param>
 public void Notify(AtmTransition transition, object payload)
 {
     this.transitions.Add(transition);
 }
 /// <summary>
 /// The notify.
 /// </summary>
 /// <param name="transition">
 /// The atm notification.
 /// </param>
 /// <param name="payload">
 /// The transition payload
 /// </param>
 public void Notify(AtmTransition transition, object payload)
 {
     this.Write(TraceLevel.Info, "Transition Event {0}", transition);
 }
 /// <summary>
 /// The model has notified that a command should be enabled
 /// </summary>
 /// <param name="transition">
 /// The command.
 /// </param>
 public void EnableTransition(AtmTransition transition)
 {
     RequeryCommands();
 }