public CamlQueryExtension(Type itemsType, IEnumerable<FieldCriterionInformation> fieldCriteria,
     IEnumerable<OrderedField> orderedFields, IEnumerable<OrderedField> defaultOrderedFields,
     FieldCriteriaOperator criteriaOperator, PagingViewModel pagingExtension)
     : this(MapDataTypeToList(itemsType), fieldCriteria, orderedFields, defaultOrderedFields,
         criteriaOperator, pagingExtension)
 {
 }
        private CamlQueryExtension(IEnumerable<string> selectedFields,
            IEnumerable<FieldCriterionInformation> fieldCriteria, IEnumerable<OrderedField> orderedFields,
            IEnumerable<OrderedField> defaultOrderedFields,
            FieldCriteriaOperator criteriaOperator, PagingViewModel pagingExtension)
        {
            SelectedFields = selectedFields;
            CriteriaOperator = criteriaOperator;
            FieldCriteria = fieldCriteria;
            OrderedFields = orderedFields;
            ItemsPerPage = 30;
            if (defaultOrderedFields != null)
            {
                this.defaultOrderedFields = defaultOrderedFields;
            }
            PagingNavigationSetting = new PagingNavigation();

            //Integrate with paging extension
            pagingExtension.IntegrateWithCamlQueryExAction = ProcessFromPagingEx;
            ProcessFromCamlQueryEx = pagingExtension.IntegrateWithPagingEx;
            pagingExtension.MakeRequestToCamlQrEx();
        }