示例#1
0
        public override async Task ExecuteAsync(object parameter)
        {
            _loginViewModel.ErrorMessage = string.Empty;

            try
            {
                User user = await _authenticator.Login(_loginViewModel.Username, _loginViewModel.Password);

                string userJson = JsonConvert.SerializeObject(new User()
                {
                    Login  = user.Login,
                    Passwd = user.Passwd,
                    Id     = user.Id
                });

                await File.WriteAllTextAsync("user.json", userJson);

                var a = new UpdateCurrentViewModelCommand(_navigator, user, _authenticator.GetUserContext());
                a.Execute(ViewType.Home);
            }
            catch (Exception ex)
            {
                ErrorView errorView = new ErrorView();
                errorView.DataContext = new ErrorViewModel(ex.Message);
                errorView.ShowDialog();
            }
        }
		public  MainViewModel(INavigator<ViewModelBase> navigator, IRootTaskManagerViewModelFactory taskManagerViewModelFactory, IAuthenticator authenticator) {

			Navigator = navigator;
			Authenticator = authenticator;
			UpdateCurrentViewModelCommand = new UpdateCurrentViewModelCommand(navigator, taskManagerViewModelFactory);
			LogoutCommand = new LogoutCommand(this);
			System.Threading.Tasks.Task<bool> t = System.Threading.Tasks.Task.Run(() => Authenticator.TryToAuthenticateAsync());
			t.Wait();
			bool isAuthenticated =  t.Result;
			if (isAuthenticated) {
				UpdateCurrentViewModelCommand.Execute(ViewType.IssuesTasks);
			}
			else {
				UpdateCurrentViewModelCommand.Execute(ViewType.Login);
			}
		}
 public MainViewModel(ICurrentContext navigator, IViewModelFactory viewModelFactory, IUserManager userManager, IRenavigator loginNavigator)
 {
     Navigator        = navigator;
     this.userManager = userManager;
     UpdateCurrentViewModelCommand = new UpdateCurrentViewModelCommand(navigator, viewModelFactory);
     UpdateCurrentViewModelCommand.Execute(ViewType.Login);
     LogoutCommand = new LogoutCommand(userManager, loginNavigator);
 }
示例#4
0
        public MainViewModel(INavigator navigator, IShopViewModelFactory viewModelFactory)
        {
            _navigator = navigator;
            _navigator.StateChanged += () => { OnPropertyChanged(nameof(CurrentViewModel)); };

            UpdateCurrentViewModelCommand = new UpdateCurrentViewModelCommand(navigator, viewModelFactory);
            UpdateCurrentViewModelCommand.Execute(ViewModelType.Employee);
        }
示例#5
0
        public MainViewModel(INavigator navigator, IViewModelFactory viewModelFactory)
        {
            _navigator        = navigator;
            _viewModelFactory = viewModelFactory;

            _navigator.StateChanged += Navigator_StateChanged;

            UpdateCurrentViewModelCommand = new UpdateCurrentViewModelCommand(navigator, _viewModelFactory);
            UpdateCurrentViewModelCommand.Execute(ViewType.Home);

            CloseNavigationDrawerComamnd = new ActionCommand(this, method => CloseNavigationDrawer());
        }
示例#6
0
        public MainViewModel(INavigator navigator, IToDoViewModelFactory viewModelFactory, IAuthenticator authenticator)
        {
            _navigator        = navigator;
            _viewModelFactory = viewModelFactory;
            _authenticator    = authenticator;

            _navigator.StateChanged     += Navigator_StateChanged;
            _authenticator.StateChanged += Authenticator_StateChanged;

            UpdateCurrentViewModelCommand = new UpdateCurrentViewModelCommand(navigator, viewModelFactory);
            UpdateCurrentViewModelCommand.Execute(ViewType.Login);
        }
示例#7
0
        public override async Task ExecuteAsync(object parameter)
        {
            _registerViewModel.ErrorMessage = string.Empty;

            try
            {
                User user = await _authenticator.Register(_registerViewModel.Email, _registerViewModel.Username, _registerViewModel.Password, _registerViewModel.ConfirmPassword);

                string userJson = JsonSerializer.Serialize <User>(user);
                await File.WriteAllTextAsync("user.json", userJson);

                var a = new UpdateCurrentViewModelCommand(_navigator, user, _authenticator.GetUserContext());
                a.Execute(ViewType.Home);
            }
            catch (Exception ex)
            {
                ErrorView errorView = new ErrorView();
                errorView.DataContext = new ErrorViewModel(ex.Message);
                errorView.ShowDialog();
            }
        }