private async Task PopulatConnectionsAsync()
        {
            HasActiveTask = true;

            try
            {
                var terms = new ConnectionTerms();

                var connections = await _client.FetchConnectionsAsync(_userID, terms, CancellationToken.None);

                var feeds = await _client.FetchPostFeedsAsync(_userID, CancellationToken.None);

                var feed = feeds.FirstOrDefault(x => x.Title == "READING_LIST");

                Entries.Clear();

                foreach (var x in connections)
                {
                    if (feed != null && feed.PartyIDs.Contains(x.ToPartyID))
                        continue;

                    Entries.Add(new ConnectionEntryViewModel(_client, _userID, x, false));
                }
            }
            catch (TaskCanceledException)
            {
            }

            HasActiveTask = false;
        }
        private async Task PopulateDataAsync()
        {
            HasActiveTask = true;

            var termsPost = new PostTerms
            {
                PagingSkip = 0,
                PagingTake = 128
            };

            var feed = default(PostFeed);

            try
            {
                var feeds = await _client.FetchPostFeedsAsync(_userID, CancellationToken.None);

                feed = feeds.FirstOrDefault(x => x.Title == "READING_LIST");

                if (feed == null)
                {
                    EntriesPublic.Clear();
                }
                else
                {
                    var postsFeed = await _client.FetchPostsAsync(_userID, feed.ID, termsPost, CancellationToken.None);

                    if (postsFeed != null)
                    {
                        // BUG: pip-services-net

                        EntriesPublic.Clear();

                        foreach (var x in postsFeed.Values)
                            EntriesPublic.Add(new PostEntryViewModel(NavigationService, x, _userID));
                    }
                }

                var postsJournal = await _client.FetchPostsAsync(_userID, termsPost, CancellationToken.None);

                EntriesJournal.Clear();

                if (postsJournal != null)
                {
                    // BUG: pip-services-net

                    foreach (var x in postsJournal.Values)
                        EntriesJournal.Add(new PostEntryViewModel(NavigationService, x, _userID));
                }
            }
            catch (OperationCanceledException)
            {
            }

            HasActiveTask = false;

            try
            {
                if (feed != null)
                {
                    var termsConnection = new ConnectionTerms();
                    var connections = await _client.FetchConnectionsAsync(_userID, termsConnection, CancellationToken.None);

                    EntriesReading.Clear();

                    foreach (var partyID in feed.PartyIDs)
                    {
                        var connection = connections.FirstOrDefault(x => x.ToPartyID == partyID);

                        if (connection != null)
                            EntriesReading.Add(new ConnectionEntryViewModel(_client, _userID, connection, true));
                    }
                }
            }
            catch (OperationCanceledException)
            {
            }
        }
		public async Task<IReadOnlyCollection<Connection>> FetchConnectionsAsync(string partyID, ConnectionTerms terms, CancellationToken terminator)
		{
			if (partyID == null)
				throw new ArgumentNullException(nameof(partyID));
			if (terms == null)
				throw new ArgumentNullException(nameof(terms));

			VerifyServerAddress();

			var uri = new Uri(FormattableString.Invariant($"{_server}/api/parties/{partyID}/connections"));

			using (var response = await _client.GetAsync(uri, terminator).ConfigureAwait(false))
			{
				await VerifyResponseAsync(response);

				return await response.Content.ReadAsJsonObjectAsync<Connection[]>().ConfigureAwait(false);
			}
		}