Ejemplo n.º 1
0
        public SearchResponseData <T> GetResponse <T>(string status, T data, string message)
        {
            this.status  = status;
            this.message = message;

            var resultData = new SearchResponseData <T>(status, data, message);

            return(resultData);
        }
 private IEnumerable <QueryResult> GetResults(SearchResponseData response)
 {
     return(from r in response.Results
            select new QueryResult()
     {
         Id = r[SearchContentProperty.Id],
         Title = r[SearchContentProperty.Title],
         QuickLink = r[SearchContentProperty.QuickLink],
         Description = r[SearchContentProperty.Description]
     });
 }
        public ScalarTests()
        {
            _idProvider = new IdProvider();
            _testData = TestHelper.GetResponseData<Widget>(10);

            _searchManager = Substitute.For<ISearchManager>();
            _searchManager.Search(Arg.Any<AdvancedSearchCriteria>()).ReturnsForAnyArgs(
                _testData
                );

            _widgets = EktronQueryFactory.Queryable<Widget>(_idProvider, _searchManager);
        }
    private List <ContentType <Attraction> > populateMerchandise(string title, int paging)
    {
        //  IntegerPropertyExpression sfid = new IntegerPropertyExpression(smartFormID);
        //  id = current page id to exclude from query results
        //  parameters = current page query string
        //  title = title of current page
        //  contentBlockId = id of content block on current page to exclude from query results

        IEnumerable <QueryResult> results  = new List <QueryResult>();
        KeywordSearchCriteria     criteria = new KeywordSearchCriteria();

        criteria.QueryText   = title;
        criteria.ImplicitAnd = false;
        criteria.OrderBy     = new List <OrderData>()
        {
            new OrderData(SearchContentProperty.Rank, OrderDirection.Descending)
        };

        criteria.ExpressionTree =
            QueryProperties.Id > 0 &
            QueryProperties.SFID.EqualTo(9);
        criteria.PagingInfo             = new PagingInfo(paging);
        criteria.PagingInfo.CurrentPage = 1;
        criteria.ReturnProperties       = new HashSet <PropertyExpression>()
        {
            SearchContentProperty.Id,
            SearchContentProperty.Title,
            SearchContentProperty.QuickLink,
            SearchContentProperty.Description
        };

        ISearchManager manager = ObjectFactory.GetSearchManager();

        SearchResponseData response = manager.Search(criteria);
        List <ContentType <Attraction> > merchandiseList = new List <ContentType <Attraction> >();

        if (response.Results.Count > 0)
        {
            results = GetResults(response);
            foreach (Content.QueryResult merchandise in results)
            {
                ContentTypeManager <Attraction> contentTypeManagerAttraction = new ContentTypeManager <Attraction>();
                ContentType <Attraction>        cd = contentTypeManagerAttraction.GetItem(merchandise.Id);
                merchandiseList.Add(cd);
            }
        }
        return(merchandiseList);
    }
    private IEnumerable <QueryResult> populateRelatedContent(long id, QueryParams parameters, string title, long contentBlockId, int paging)
    {
        //  IntegerPropertyExpression sfid = new IntegerPropertyExpression(smartFormID);
        //  id = current page id to exclude from query results
        //  parameters = current page query string
        //  title = title of current page
        //  contentBlockId = id of content block on current page to exclude from query results

        IEnumerable <QueryResult> results  = new List <QueryResult>();
        KeywordSearchCriteria     criteria = new KeywordSearchCriteria();

        criteria.QueryText = title;
        criteria.OrderBy   = new List <OrderData>()
        {
            new OrderData(SearchContentProperty.Rank, OrderDirection.Descending)
        };

        criteria.ExpressionTree =
            QueryProperties.Id > 0 &
            QueryProperties.Id != contentBlockId &
            QueryProperties.Id != id&
            QueryProperties.SFID.NotEqualTo(10) &
            QueryProperties.SFID.NotEqualTo(9);

        criteria.PagingInfo             = new PagingInfo(paging);
        criteria.PagingInfo.CurrentPage = 1;
        criteria.ReturnProperties       = new HashSet <PropertyExpression>()
        {
            SearchContentProperty.Id,
            SearchContentProperty.Title,
            SearchContentProperty.QuickLink,
            SearchContentProperty.Description
        };

        ISearchManager manager = ObjectFactory.GetSearchManager();

        SearchResponseData response = manager.Search(criteria);

        if (response.Results.Count > 0)
        {
            results = GetResults(response);
        }
        return(results);
    }