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));
        }
Exemplo n.º 2
0
        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>()));
        }
Exemplo n.º 3
0
        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());
        }