private CachedDataViewState GetCacheState(CollectionQuery query)
{
var lastIndexRequested = query.Skip + query.Take- 1;
CachedDataSet cachedItems;
if(cachedData.TryGetValue(query.CacheKey, out cachedItems) == false)
{
return CachedDataViewState.CompleteMiss;
}
else if(lastIndexRequested < cachedItems.Items.Count)
{
return CachedDataViewState.CompleteHit;
}
else if(query.Skip < cachedItems.Items.Count && cachedItems.IsComplete == false)
{
return CachedDataViewState.PartialHit;
}
else if(cachedItems.IsComplete)
{
return CachedDataViewState.CompleteHit;
}
else
{
return CachedDataViewState.CompleteMiss;
}
}