예제 #1
0
        public ILarsSearchCriteria GetLarsSearchCriteria(
            LarsSearchRequestModel larsSearchRequestModel,
            int currentPageNo,
            int itemsPerPage,
            IEnumerable <LarsSearchFacet> facets = null)
        {
            Throw.IfNull(larsSearchRequestModel, nameof(larsSearchRequestModel));
            Throw.IfLessThan(1, currentPageNo, nameof(currentPageNo));
            Throw.IfLessThan(1, itemsPerPage, nameof(itemsPerPage));

            var sb = new StringBuilder();

            sb = BuildUpFilterStringBuilder(sb, "NotionalNVQLevelv2", larsSearchRequestModel.NotionalNVQLevelv2Filter);
            sb = BuildUpFilterStringBuilder(sb, "AwardOrgCode", larsSearchRequestModel.AwardOrgCodeFilter);

            var skip = currentPageNo == 1 ? 0 : itemsPerPage * (currentPageNo - 1);

            var criteria = new LarsSearchCriteria(
                FormatSearchTerm(larsSearchRequestModel.SearchTerm),
                itemsPerPage,
                skip,
                new LarsSearchFilterBuilder(sb).Build(),
                facets);

            return(criteria);
        }
        private static async Task <IResult <ILarsSearchResult> > GetLarsData(ServiceProvider serviceProvider)
        {
            var searchCriteria = new LarsSearchCriteria("business", 10, 20, null, new[]
            {
                LarsSearchFacet.AwardOrgCode,
                LarsSearchFacet.NotionalNVQLevelv2
            });

            var serv   = serviceProvider.GetService <ILarsSearchService>();
            var result = await serv.SearchAsync(searchCriteria);

            return(result);
        }