public static Uri GetNavigationUri(Account account) { HttpValueCollection httpValues = new HttpValueCollection(); httpValues.Add(AccountName, account.Provider); httpValues.Add(Username, account.ProviderKey); return new Uri("/AccountDetailsPage.xaml?" + httpValues.ToString(), UriKind.Relative); }
protected override async void OnNavigatedTo(NavigationEventArgs e) { ExternalLoginsItemsControl.Items.Clear(); HttpResult<ExternalLogin[]> result; using (AccountClient accountClient = ClientFactory.CreateAccountClient()) { result = await accountClient.GetExternalLoginsAsync(); } if (result.Succeeded) { ExternalLogin[] externalLogins = result.Content; ExternalLoginsPivotItem.Visibility = externalLogins.Length > 0 ? Visibility.Visible : Visibility.Collapsed; foreach (ExternalLogin externalLogin in externalLogins) { string provider = externalLogin.Name; Account account = new Account() { Provider = provider, ProviderUri = externalLogin.Url, Icon = Account.GetAccountIcon(provider) }; ExternalLoginsItemsControl.Items.Add(account); } } else { ExternalLoginsPivotItem.Visibility = Visibility.Collapsed; ErrorDialog.ShowErrors(result.Errors); } }
protected override async void OnNavigatedTo(NavigationEventArgs e) { AccountsItemControl.Items.Clear(); HttpResult<ManageInfo> result; using (AccountClient accountClient = ClientFactory.CreateAccountClient()) { result = await accountClient.GetManageInfoAsync(); } if (result.Succeeded) { ManageInfo manageInfo = result.Content; localProvider = manageInfo.LocalLoginProvider; foreach (UserLoginInfo userLoginInfo in manageInfo.Logins) { Account account = new Account(); account.Provider = userLoginInfo.LoginProvider; account.ProviderKey = userLoginInfo.ProviderKey; account.Icon = Account.GetAccountIcon(userLoginInfo.LoginProvider); AccountsItemControl.Items.Add(account); } } else { ErrorDialog.ShowErrors(result.Errors); } }
protected override async void OnNavigatedTo(NavigationEventArgs e) { this.AddAccountItemControl.Items.Clear(); HttpResult<ManageInfo> result; using (AccountClient accountClient = ClientFactory.CreateAccountClient()) { result = await accountClient.GetManageInfoAsync(); } if (result.Succeeded) { ManageInfo manageInfo = result.Content; foreach (ExternalLogin externalLogin in manageInfo.ExternalLoginProviders) { string provider = externalLogin.Name; Account account = new Account() { Provider = externalLogin.Name, Icon = Account.GetAccountIcon(provider), ProviderUri = externalLogin.Url }; AddAccountItemControl.Items.Add(account); } localProvider = manageInfo.LocalLoginProvider; UserLoginInfo localLogin = manageInfo.Logins.FirstOrDefault(login => login.LoginProvider == localProvider); bool hasLocalLogin = localLogin != null; if (!hasLocalLogin) { Account localAccount = new Account() { Provider = localProvider, Icon = Account.GetAccountIcon(localProvider) }; AddAccountItemControl.Items.Add(localAccount); } } else { ErrorDialog.ShowErrors(result.Errors); this.NavigationService.GoBack(); } }