public static void VerifyPendency(IStateTransitionPending transitionToVerify) { if (AlreadyApproved(transitionToVerify)) transitionToVerify.StateMachine .TransitionsPending .TakeAway(transitionToVerify); if (ICannotApprove(transitionToVerify)) transitionToVerify.StateMachine .TransitionsPending .PutNew(transitionToVerify); }
private static bool ICannotApprove(IStateTransitionPending transitionToVerify) { return !transitionToVerify.TransitionPending.Policy.CanIApprove; }
private static bool AlreadyApproved(IStateTransitionPending transitionToVerify) { return transitionToVerify.TransitionPending.Policy.IsApproved; }
public void TakeAway(IStateTransitionPending transition) { _transitions.RemoveAll(tran => tran.Identifier == transition.Identifier); }
public void PutNew(IStateTransitionPending transition) { if (!HaveAnyEquals(transition)) this._transitions.Add(transition); }
public bool HaveAnyEquals(IStateTransitionPending transition) { return Find(tran => tran == transition || tran.Identifier == transition.Identifier) != null; }