public ISet <KeyValuePair <TKey, TValue> > EntrySetWithPagingPredicate(PagingPredicate <TKey, TValue> pagingPredicate) { pagingPredicate.SetIterationType(IterationType.ENTRY); var request = MapEntriesWithPagingPredicateCodec.EncodeRequest(GetName(), ToData(pagingPredicate)); var entries = Invoke(request, m => MapEntriesWithPagingPredicateCodec.DecodeResponse(m).entrySet); ISet <KeyValuePair <TKey, TValue> > entrySet = new HashSet <KeyValuePair <TKey, TValue> >(); foreach (var dataEntry in entries) { var key = ToObject <TKey>(dataEntry.Key); var value = ToObject <TValue>(dataEntry.Value); entrySet.Add(new KeyValuePair <TKey, TValue>(key, value)); } return(SortingUtil.GetSortedQueryResultSet(entrySet, pagingPredicate, IterationType.ENTRY)); }
private ISet <TKey> KeySetWithPagingPredicate(PagingPredicate pagingPredicate) { pagingPredicate.IterationType = IterationType.Key; var request = MapKeySetWithPagingPredicateCodec.EncodeRequest(GetName(), ToData(pagingPredicate)); var response = Invoke(request); var resultParameters = MapKeySetWithPagingPredicateCodec.DecodeResponse(response); var resultList = new List <KeyValuePair <object, object> >(); foreach (var keyData in resultParameters.response) { var key = ToObject <TKey>(keyData); resultList.Add(new KeyValuePair <object, object>(key, default(TValue))); } var resultEnumerator = SortingUtil.GetSortedQueryResultSet <TKey, TValue>(resultList, pagingPredicate, IterationType.Key); return(new HashSet <TKey>(resultEnumerator.Cast <TKey>())); }
private ICollection <TValue> ValuesForPagingPredicate(PagingPredicate pagingPredicate) { pagingPredicate.IterationType = IterationType.Value; var request = MapValuesWithPagingPredicateCodec.EncodeRequest(GetName(), ToData(pagingPredicate)); var response = Invoke(request); var resultParameters = MapValuesWithPagingPredicateCodec.DecodeResponse(response); var resultList = new List <KeyValuePair <object, object> >(); foreach (var dataEntry in resultParameters.response) { var key = ToObject <TKey>(dataEntry.Key); var value = ToObject <TValue>(dataEntry.Value); resultList.Add(new KeyValuePair <object, object>(key, value)); } var resultEnumerator = SortingUtil.GetSortedQueryResultSet <TKey, TValue>(resultList, pagingPredicate, IterationType.Value); return(resultEnumerator.Cast <TValue>().ToList()); }