Ejemplo n.º 1
0
        public static void VerifyPendency(IStateTransitionPending transitionToVerify)
        {
            if (AlreadyApproved(transitionToVerify))
                transitionToVerify.StateMachine
                    .TransitionsPending
                    .TakeAway(transitionToVerify);

            if (ICannotApprove(transitionToVerify))
                transitionToVerify.StateMachine
                    .TransitionsPending
                    .PutNew(transitionToVerify);
        }
Ejemplo n.º 2
0
 private static bool ICannotApprove(IStateTransitionPending transitionToVerify)
 {
     return !transitionToVerify.TransitionPending.Policy.CanIApprove;
 }
Ejemplo n.º 3
0
 private static bool AlreadyApproved(IStateTransitionPending transitionToVerify)
 {
     return transitionToVerify.TransitionPending.Policy.IsApproved;
 }
Ejemplo n.º 4
0
 public void TakeAway(IStateTransitionPending transition)
 {
     _transitions.RemoveAll(tran => tran.Identifier == transition.Identifier);
 }
Ejemplo n.º 5
0
 public void PutNew(IStateTransitionPending transition)
 {
     if (!HaveAnyEquals(transition))
         this._transitions.Add(transition);
 }
Ejemplo n.º 6
0
 public bool HaveAnyEquals(IStateTransitionPending transition)
 {
     return Find(tran => tran == transition || tran.Identifier == transition.Identifier) != null;
 }