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);
        }