private async void WebAccountProviderCommandInvoked(WebAccountProviderCommand command)
        {
            // Show UI for signing in in the background in case of a slow connection and hide the sign in button
            LoadingHeader.Text       = "Signing in..";
            Loading_PR.IsActive      = true;
            GetStarted_sp.Visibility = Visibility.Collapsed;
            Loading_SP.Visibility    = Visibility.Visible;

            user = await MicrosoftAccount.SignIn(command.WebAccountProvider);

            if (user != null)
            {
                Loading_SP.Visibility    = Visibility.Collapsed;
                GetStarted_sp.Visibility = Visibility.Collapsed;
                OutputPanel.Visibility   = Visibility.Visible;
                ResultsText.Text         = "Hi " + user.AccountName + "!";
                ProfileImage.Fill        = user.Image;
                Loading_PR.IsActive      = false;
            }
            else
            {
                Loading_PR.IsActive      = false;
                Loading_SP.Visibility    = Visibility.Collapsed;
                GetStarted_sp.Visibility = Visibility.Visible;
            }
        }
        private async void Continue_button_Click(object sender, RoutedEventArgs e)
        {
            OutputPanel.Visibility = Visibility.Collapsed;
            Syncing_PR.IsActive    = true;
            Syncing_SP.Visibility  = Visibility.Visible;

            if (await MicrosoftAccount.SignIntoAppService())
            {
                Initalise();
            }
        }
        private async void Page_Loaded(object sender, RoutedEventArgs e)
        {
            if (autoSignIn)
            {
                Instructions.Visibility = Visibility.Collapsed;
                user = await MicrosoftAccount.AutoSignIn();

                if (user != null)
                {
                    ResultsText.Text       = "Welcome back " + user.AccountName + "!";
                    ProfileImage.Fill      = user.Image;
                    OutputPanel.Visibility = Visibility.Visible;
                }
            }
            Loading_PR.IsActive   = false;
            Loading_SP.Visibility = Visibility.Collapsed;
        }
        public static async void Initalise()
        {
            await Shared.Services.Storage.InitaliseAsync();

            await MicrosoftAccount.SignIntoAppService();

            await App.HomesViewModel.Initalise();

            try
            {
                App.RoomsViewModel.SelectedHomeId = App.HomesViewModel.SelectedHome.Id;
                await App.RoomsViewModel.Initialize();
            }
            catch (Exception e)
            {
                Debug.WriteLine("ActivationService.Initalise - Error loading rooms: " + e.Message);
            }
        }
        private async void Page_Loaded(object sender, RoutedEventArgs e)
        {
            var device = AnalyticsInfo.VersionInfo.DeviceFamily;

            if (device == "Windows.Desktop" || device == "Windows.Tablet")
            {
                AppTitleBar.Visibility = Visibility.Visible;
                // Hide default title bar.
                var coreTitleBar = CoreApplication.GetCurrentView().TitleBar;
                coreTitleBar.ExtendViewIntoTitleBar = true;
                var applicationView = ApplicationView.GetForCurrentView();
                var titleBar        = applicationView.TitleBar;
                titleBar.ButtonBackgroundColor = Colors.Transparent;
            }
            AccountsSettingsPane.GetForCurrentView().AccountCommandsRequested += OnAccountCommandsRequested;

            user = await MicrosoftAccount.SignIn();

            AccountName.Text               = user.AccountName;
            AccountImage.Fill              = user.Image;
            SignInListViewItem.Visibility  = Visibility.Collapsed;
            AccountListViewItem.Visibility = Visibility.Visible;
        }
 public vmSettings()
 {
     _MicrosoftAccount = MicrosoftAccount.GetInstance();
     _MicrosoftAccount.ConnectionChanged += MicrosoftAccount_ConnectionChanged;
     _MicrosoftAccount.ConnectionError   += _MicrosoftAccount_ConnectionError;
 }
        private async void OnAccountCommandsRequested(AccountsSettingsPane sender, AccountsSettingsPaneCommandsRequestedEventArgs e)
        {
            AccountsSettingsPaneEventDeferral deferral        = e.GetDeferral();
            WebAccountProviderCommand         providerCommand = new WebAccountProviderCommand(await MicrosoftAccount.GetProvider(), WebAccountProviderCommandInvoked);

            e.WebAccountProviderCommands.Add(providerCommand);
            deferral.Complete();
        }