public ChangePasswordViewModel(
            IDataApiClient dataApiClient,

            IPasswordBoxSpawner passwordBoxSpawner,
            string username = null)
        {
            this.dataApiClient = dataApiClient;

            Username              = username;
            OldPasswordBox        = passwordBoxSpawner.SpawnNew();
            NewPasswordBox        = passwordBoxSpawner.SpawnNew(tabIndex: 2);
            NewPasswordRepeatBox  = passwordBoxSpawner.SpawnNew(tabIndex: 3);
            ChangePasswordCommand = new AsyncRelayCommand <IClosable>(ChangeAndClose, CanSubmit);
            CancelCommand         = new RelayCommand <IClosable>(closable => closable.Close(false));
        }
Beispiel #2
0
        public LoginViewModel(
            IDataApiClient dataApiClient,
            IPasswordBoxSpawner passwordBoxSpawner,
            IViewSpawner <ChangePasswordViewModel> changePasswordViewSpawner)
        {
            this.dataApiClient             = dataApiClient;
            this.passwordBoxSpawner        = passwordBoxSpawner;
            this.changePasswordViewSpawner = changePasswordViewSpawner;

            Username              = dataApiClient.LoggedInUsername;
            PasswordBox           = passwordBoxSpawner.SpawnNew();
            ChangePasswordCommand = new RelayCommand <IClosable>(OpenChangePasswordWindow);
            LoginCommand          = new RelayCommand <IClosable>(Login, CanLogin);
            CancelCommand         = new RelayCommand <IClosable>(closable => closable?.Close(false), closable => !IsLoggingIn);
        }
 public UserSwitchViewModel(
     IDataApiClient dataApiClient,
     Action loginSuccessfulCallback,
     Action loginFailedCallback,
     IPasswordBoxSpawner passwordBoxSpawner,
     IViewSpawner <LoginViewModel> loginViewSpawner,
     IViewSpawner <ChangePasswordViewModel> changePasswordViewSpawner)
 {
     this.dataApiClient           = dataApiClient;
     this.loginSuccessfulCallback = loginSuccessfulCallback;
     this.loginFailedCallback     = loginFailedCallback;
     this.loginViewSpawner        = loginViewSpawner;
     LoginViewModel         = new LoginViewModel(dataApiClient, passwordBoxSpawner, changePasswordViewSpawner);
     OpenLoginWindowCommand = new RelayCommand(OpenLoginWindow);
 }