PlayStation_App.Database.UserAccountDatabase.HasAccounts C# (CSharp) 메소드

HasAccounts() 공개 메소드

public HasAccounts ( ) : Task
리턴 Task
        public async Task<bool> HasAccounts()
        {
            using (var ds = new UserAccountDataSource(Platform, DbLocation))
            {
                var accounts = await ds.AccountUserRepository.GetAllWithChildren();
                return accounts.Any();
            }
        }

Usage Example

예제 #1
0
        // runs only when not restored from state
        public override async Task OnStartAsync(StartKind startKind, IActivatedEventArgs args)
        {
            var launch = args as LaunchActivatedEventArgs;
            if (launch?.PreviousExecutionState == ApplicationExecutionState.NotRunning
                || launch?.PreviousExecutionState == ApplicationExecutionState.Terminated
                || launch?.PreviousExecutionState == ApplicationExecutionState.ClosedByUser)
            {
                if (Shell.Instance.ViewModel.CurrentUser == null)
                {
                    var userAccountDatabase = new UserAccountDatabase(new SQLitePlatformWinRT(), DatabaseWinRTHelpers.GetWinRTDatabasePath(StringConstants.UserDatabase));
                    if (await userAccountDatabase.HasAccounts())
                    {

                        if (await userAccountDatabase.HasDefaultAccounts())
                        {
                            try
                            {
                                var result = await Shell.Instance.ViewModel.LoginDefaultUser();
                                NavigationService.Navigate(result ? typeof(Views.MainPage) : typeof(Views.AccountPage));
                            }
                            catch (Exception)
                            {
                                // error happened, send them to account page so we can check on it.
                                NavigationService.Navigate(typeof(Views.AccountPage));
                            }

                        }
                        else
                        {
                            NavigationService.Navigate(typeof(Views.AccountPage));
                        }
                    }
                    else
                    {
                        NavigationService.Navigate(typeof(Views.LoginPage));
                    }
                }
                else
                {
                    NavigationService.Navigate(typeof(Views.MainPage));
                }
            }

            await Task.CompletedTask;
        }