コード例 #1
0
        public LoginViewModel(IAuthoriazationProvider authoriazationProvider, NavigationPageService navigationPage)
        {
            _authorizationProvider = authoriazationProvider;
            _navigationPage        = navigationPage;

            LoginCommand = new DelegateCommand(Login, pb =>
                                               !string.IsNullOrEmpty(Email) && (pb as PasswordBox)?.SecurePassword.Length > 0);

            CloseCommand = new DelegateCommand(_ => Application.Current.Shutdown());
        }
コード例 #2
0
        public MainViewModel(IAuthoriazationProvider authorizationProvider, NavigationPageService pageService)
        {
            _authorizationProvider = authorizationProvider;
            _pages = ViewPageLocator.Tabs;

            UserName = _authorizationProvider.AuthenticationState.GetClaim("sub");

            _navigationPage = pageService;
            CurrentPage     = _pages[nameof(HomeTab)];

            LogoutCommand = new DelegateCommand(Logout);
            CloseCommand  = new DelegateCommand(_ => Application.Current.Shutdown());
        }
コード例 #3
0
        public MainWindowViewModel(IAuthoriazationProvider authoriazationProvider, NavigationPageService pageService)
        {
            _authorizationProvider = authoriazationProvider;

            _pageService = pageService;

            _pageService.OnPageChanged += (page) => CurrentPage = page;

            //progress session logic, but this code need refactoring
            var state = _authorizationProvider.AuthenticationState;

            _authorizationProvider.ExtendSession();

            if (state.IsAuthentication)
            {
                _pageService.NavigateTo(ViewPageLocator.MainPage);
            }
            else
            {
                pageService.NavigateTo(ViewPageLocator.LoginPage);
            }
        }