/// <summary> /// Configures credentials properties and auto persistence from the credential store. /// </summary> /// <param name="credentialStore">The <see cref="ICredentialStore">ICredentialStore</see> used to persist credentials.</param> private void ConfigureCredentialPersistence(ICredentialStore credentialStore) { var loadCredentialsTask = Task.Run<IEnumerable<CredentialModel>>(async () => { return await credentialStore.GetCredentialsAsync().ConfigureAwait(false); }); this.credentialList = new ReactiveList<CredentialModel>(loadCredentialsTask.Result); this.credentialList.AutoPersist((creds) => { return Observable.FromAsync<Unit>(async () => { await credentialStore.SaveCredentialsAsync(creds.AsEnumerable()); return Unit.Default; }); }); }