示例#1
0
        protected override async void NavigateToFirstViewModel(object hint = null)
        {
            onboardingStorage.SetFirstOpened(timeService.CurrentDateTime);

            if (accessRestrictionStorage.IsApiOutdated() || accessRestrictionStorage.IsClientOutdated())
            {
                await navigationService.Navigate <OnboardingViewModel>();

                await navigationService.Navigate <OutdatedAppViewModel>();

                return;
            }

            var dataSource = loginManager.GetDataSourceIfLoggedIn();

            if (dataSource == null)
            {
                await navigationService.Navigate <TFirstViewModelWhenNotLoggedIn>();

                return;
            }

            var user = await dataSource.User.Current.FirstAsync();

            if (accessRestrictionStorage.IsUnauthorized(user.ApiToken))
            {
                await navigationService.Navigate <TokenResetViewModel>();

                return;
            }

            var _ = dataSource.StartSyncing();

            await navigationService.Navigate <MainViewModel>();
        }
示例#2
0
        public async void Start(object hint = null)
        {
            Mvx.RegisterSingleton(loginManager);

            if (accessRestrictionStorage.IsApiOutdated() || accessRestrictionStorage.IsClientOutdated())
            {
                await navigationService.Navigate <OnboardingViewModel>();

                await navigationService.Navigate <OutdatedAppViewModel>();

                return;
            }

            var dataSource = loginManager.GetDataSourceIfLoggedIn();

            if (dataSource == null)
            {
                await navigationService.Navigate <OnboardingViewModel>();

                return;
            }

            var user = await dataSource.User.Current;

            if (accessRestrictionStorage.IsUnauthorized(user.ApiToken))
            {
                await navigationService.Navigate <TokenResetViewModel>();

                return;
            }

            var _ = dataSource.StartSyncing();

            await navigationService.Navigate <MainViewModel>();
        }
示例#3
0
        public void Start(object hint = null)
        {
            Mvx.RegisterSingleton(loginManager);

            var dataSource = loginManager.GetDataSourceIfLoggedIn();

            if (dataSource == null)
            {
                navigationService.Navigate <OnboardingViewModel>();
                return;
            }

            Mvx.RegisterSingleton(dataSource);
            navigationService.Navigate <MainViewModel>();
        }