public IEnumerable <Teaser> ExecuteQuery() { Criteria criteria = BuildCriteria(); global::Tridion.ContentDelivery.DynamicContent.Query.Query query = new global::Tridion.ContentDelivery.DynamicContent.Query.Query(criteria); if (!String.IsNullOrEmpty(Sort) && Sort.ToLower() != "none") { query.AddSorting(GetSortParameter()); } if (MaxResults > 0) { query.SetResultFilter(new LimitFilter(MaxResults)); } if (PageSize > 0) { //We set the page size to one more than what we need, to see if there are more pages to come... query.SetResultFilter(new PagingFilter(Start, PageSize + 1)); } try { ComponentMetaFactory componentMetaFactory = new ComponentMetaFactory(PublicationId); List <Teaser> results = new List <Teaser>(); string[] ids = query.ExecuteQuery(); HasMore = ids.Length > PageSize; int count = 0; foreach (string compId in ids) { if (count >= PageSize) { break; } IComponentMeta compMeta = componentMetaFactory.GetMeta(compId); if (compMeta != null) { results.Add(GetTeaserFromMeta(compMeta)); } count++; } return(results); } catch (Exception ex) { throw new DxaException("Error executing Broker Query", ex); } }
public IEnumerable<Teaser> ExecuteQuery() { Criteria criteria = BuildCriteria(); global::Tridion.ContentDelivery.DynamicContent.Query.Query query = new global::Tridion.ContentDelivery.DynamicContent.Query.Query(criteria); if (!String.IsNullOrEmpty(Sort) && Sort.ToLower() != "none") { query.AddSorting(GetSortParameter()); } if (MaxResults > 0) { query.SetResultFilter(new LimitFilter(MaxResults)); } if (PageSize > 0) { //We set the page size to one more than what we need, to see if there are more pages to come... query.SetResultFilter(new PagingFilter(Start, PageSize + 1)); } try { ComponentMetaFactory componentMetaFactory = new ComponentMetaFactory(PublicationId); List<Teaser> results = new List<Teaser>(); string[] ids = query.ExecuteQuery(); HasMore = ids.Length > PageSize; int count = 0; foreach (string compId in ids) { if (count >= PageSize) { break; } IComponentMeta compMeta = componentMetaFactory.GetMeta(compId); if (compMeta != null) { results.Add(GetTeaserFromMeta(compMeta)); } count++; } return results; } catch (Exception ex) { throw new DxaException("Error executing Broker Query", ex); } }
internal IEnumerable <string> ExecuteQuery() { Criteria criteria = BuildCriteria(); global::Tridion.ContentDelivery.DynamicContent.Query.Query query = new global::Tridion.ContentDelivery.DynamicContent.Query.Query(criteria); if (!string.IsNullOrEmpty(_queryParameters.Sort) && _queryParameters.Sort.ToLower() != "none") { query.AddSorting(GetSortParameter()); } if (_queryParameters.MaxResults > 0) { query.SetResultFilter(new LimitFilter(_queryParameters.MaxResults)); } int pageSize = _queryParameters.PageSize; if (pageSize > 0) { //We set the page size to one more than what we need, to see if there are more pages to come... query.SetResultFilter(new PagingFilter(_queryParameters.Start, pageSize + 1)); } try { string[] componentIds = query.ExecuteQuery(); if (componentIds == null) { return(new string[0]); } HasMore = componentIds.Length > pageSize; return((pageSize > 0) ? componentIds.Take(pageSize) : componentIds); } catch (Exception ex) { throw new DxaException("Error executing Broker Query", ex); } }
internal IEnumerable<EntityModel> ExecuteQuery(Type resultType) { Criteria criteria = BuildCriteria(); global::Tridion.ContentDelivery.DynamicContent.Query.Query query = new global::Tridion.ContentDelivery.DynamicContent.Query.Query(criteria); if (!string.IsNullOrEmpty(_queryParameters.Sort) && _queryParameters.Sort.ToLower() != "none") { query.AddSorting(GetSortParameter()); } if (_queryParameters.MaxResults > 0) { query.SetResultFilter(new LimitFilter(_queryParameters.MaxResults)); } if (_queryParameters.PageSize > 0) { //We set the page size to one more than what we need, to see if there are more pages to come... query.SetResultFilter(new PagingFilter(_queryParameters.Start, _queryParameters.PageSize + 1)); } try { List<EntityModel> models = new List<EntityModel>(); string[] componentIds = query.ExecuteQuery(); if (componentIds == null || componentIds.Length == 0) { return models; } ComponentMetaFactory componentMetaFactory = new ComponentMetaFactory(_queryParameters.PublicationId); int pageSize = _queryParameters.PageSize; int count = 0; foreach (string componentId in componentIds) { IComponentMeta componentMeta = componentMetaFactory.GetMeta(componentId); DD4T.ContentModel.IComponent dd4tComponent = CreateComponent(componentMeta); EntityModel model = ModelBuilderPipeline.CreateEntityModel(dd4tComponent, resultType, _queryParameters.Localization); models.Add(model); if (++count == pageSize) { break; } } HasMore = componentIds.Length > count; return models; } catch (Exception ex) { throw new DxaException("Error executing Broker Query", ex); } }