private void Update(PasswordState passwordState, bool justSet) { _passwordState = passwordState; if (passwordState.HasPassword && !justSet) { State = SettingsPasswordState.Confirm; PasswordHint = passwordState.PasswordHint; } else if (justSet) { State = SettingsPasswordState.Manage; } else { State = SettingsPasswordState.Create; } }
private AppState Reducer(AppState state, object action) { BaseState tmpBaseState = (action) as BaseState; switch (tmpBaseState.userOpCode) { case UserOpCodeEnum.None: break; case UserOpCodeEnum.Close: HelperWidgets.PopRoute(tmpBaseState.Context); break; case UserOpCodeEnum.GoToLoginPage: HelperWidgets.PushNewRoute(tmpBaseState.Context, new LoginPage.LoginPage()); break; case UserOpCodeEnum.GoToRegisterPage: HelperWidgets.PushNewRoute(tmpBaseState.Context, new RegisterPage()); break; case UserOpCodeEnum.SendVerfyCode: CountdownState tmpCountdownState = ((CountdownState)action); state.CountdownTime = tmpCountdownState.CountdownTime; break; case UserOpCodeEnum.TypingAccount: AccountState tmpAccountState = ((AccountState)action); state.Account = tmpAccountState.InputResult; break; case UserOpCodeEnum.TypingPassword: PasswordState tmpPasswordState = ((PasswordState)action); state.Password = tmpPasswordState.InputResult; break; case UserOpCodeEnum.TypingNickName: SetNickNameState tmpSetNickNameState = ((SetNickNameState)action); state.NickName = tmpSetNickNameState.InputResult; break; case UserOpCodeEnum.TypingVerfyCode: SetVerfyCodeState tmpSetVerfyCodeState = ((SetVerfyCodeState)action); state.VerfyCode = tmpSetVerfyCodeState.InputResult; break; case UserOpCodeEnum.SetupAvatar: SetRegisterAvatarState tmpSetRegisterAvatarState = ((SetRegisterAvatarState)action); state.RegisterAvatar = tmpSetRegisterAvatarState.InputResult; break; default: throw new ArgumentOutOfRangeException(); } switch (tmpBaseState.RequestResult) { case RequestResultEnum.None: break; case RequestResultEnum.LoginSuccessed: HelperWidgets.PopRoute(tmpBaseState.Context); HelperWidgets.PopRoute(tmpBaseState.Context); HelperWidgets.PushNewRoute(tmpBaseState.Context, new MainPage()); break; case RequestResultEnum.LoginFailed: state.FialedMsg = ((LoginState)action).FailedMsg; break; case RequestResultEnum.VerfyCodeSuccessed: break; case RequestResultEnum.VerfyCodeFailed: break; case RequestResultEnum.RegisterSuccessed: break; case RequestResultEnum.RegisterFailed: break; default: throw new ArgumentOutOfRangeException(); } return(state); }