public UserAccountViewModel(IUserAccount userAccount) { UserAccount = userAccount; AccountName = userAccount.AccountName; Task <Person> personTask; try { var dataSourceFactory = GoogleCloudExtensionPackage.Instance.GetMefService <IDataSourceFactory>(); IGPlusDataSource dataSource = dataSourceFactory.CreatePlusDataSource(userAccount.GetGoogleCredential()); personTask = dataSource.GetProfileAsync(); } catch (Exception) { personTask = Task.FromResult <Person>(null); } // TODO: Show the default image while it is being loaded. ProfilePictureAsync = AsyncPropertyUtils.CreateAsyncProperty(personTask, x => x?.Image.Url); NameAsync = AsyncPropertyUtils.CreateAsyncProperty( personTask, x => x?.DisplayName, Resources.CloudExplorerLoadingMessage); }
public UserAccountViewModel(IUserAccount userAccount) { UserAccount = userAccount; AccountName = userAccount.AccountName; Task <Person> personTask; try { IDataSourceFactory dataSourceFactory = DataSourceFactory.Default; IGPlusDataSource dataSource = dataSourceFactory.CreatePlusDataSource(userAccount.GetGoogleCredential()); personTask = dataSource.GetProfileAsync(); } catch (Exception) { personTask = Task.FromResult <Person>(null); } // TODO: Show the default image while it is being loaded. ProfilePictureAsync = AsyncProperty.Create(personTask, x => x?.Image.Url); NameAsync = AsyncProperty.Create(personTask, x => x?.DisplayName, Resources.UiLoadingMessage); }