Uri GetPageUri(IDictionary<string, CatalogItemSummary> currentPageEntries, int newItemCount, out bool isExistingPage)
{
Tuple<int, Uri, int> latest = ExtractLatest(currentPageEntries);
int nextPageNumber = latest.Item1 + 1;
Uri latestUri = latest.Item2;
int latestCount = latest.Item3;
isExistingPage = false;
if (latestUri == null)
{
return CreatePageUri(Storage.BaseAddress, "page0");
}
if (latestCount + newItemCount > MaxPageSize)
{
return CreatePageUri(Storage.BaseAddress, string.Format("page{0}", nextPageNumber));
}
isExistingPage = true;
return latestUri;
}