Example #1
0
 protected internal virtual void Default(AccesscodeContext context)
 {
     throw (
               new statemap.TransitionUndefinedException(
                   "State: " +
                   context.State.Name +
                   ", Transition: " +
                   context.GetTransition()));
 }
Example #2
0
            protected internal override void Verify(AccesscodeContext context, string accesscode)
            {
                AccesscodeController ctxt = context.Owner;

                if (ctxt.IsValid(accesscode))
                {
                    context.State.Exit(context);
                    context.ClearState();

                    try
                    {
                        ctxt.SaveAccesscode();
                    }
                    finally
                    {
                        context.State = AuthMap.Verified;
                        context.State.Entry(context);
                    }
                }
                else if (ctxt.HaveMoreAttempts())
                {
                    context.State.Exit(context);
                    context.ClearState();

                    try
                    {
                        ctxt.IncrementAttempts();
                    }
                    finally
                    {
                        context.State = AuthMap.Unverified;
                        context.State.Entry(context);
                    }
                }
                else
                {
                    context.State.Exit(context);
                    context.State = AuthMap.Denied;
                    context.State.Entry(context);
                }

                return;
            }
Example #3
0
            protected internal override void Authenticate(AccesscodeContext context, string phonenumber)
            {
                AccesscodeController ctxt = context.Owner;


                context.State.Exit(context);
                context.ClearState();

                try
                {
                    ctxt.SMSAccesscode(phonenumber);
                }
                finally
                {
                    context.State = AuthMap.Unverified;
                    context.State.Entry(context);
                }



                return;
            }
Example #4
0
 protected internal virtual void Verify(AccesscodeContext context, string accesscode)
 {
     Default(context);
 }
Example #5
0
 protected internal virtual void Authenticate(AccesscodeContext context, string phonenumber)
 {
     Default(context);
 }
Example #6
0
 protected internal virtual void Exit(AccesscodeContext context)
 {
 }