Exemple #1
0
        public long SearchHitsResultCount(List <SearchCriteriaContract> criteria, ProjectIdentificationResult project)
        {
            var fulltextServiceClient = m_communicationProvider.GetFulltextServiceClient();
            var result = fulltextServiceClient.SearchHitsResultCount(project.SnapshotId, criteria);

            return(result);
        }
Exemple #2
0
        public long SearchHitsResultCount(List <SearchCriteriaContract> criteria, ProjectIdentificationResult project)
        {
            UpdateCriteriaWithBookVersionRestriction(criteria, new List <ProjectIdentificationResult> {
                project
            });

            using (var ssc = m_communicationProvider.GetSearchServiceClient())
            {
                var dbResult   = ssc.ListSearchEditionsResults(criteria);
                var bookResult = dbResult.SearchResults.FirstOrDefault();

                return(bookResult != null ? bookResult.TotalHitCount : 0);
            }
        }
Exemple #3
0
        public SearchHitsResultData SearchHitsWithPageContext(int start, int count, int contextLength,
                                                              List <SearchCriteriaContract> criteria,
                                                              ProjectIdentificationResult project)
        {
            var fulltextServiceClient = m_communicationProvider.GetFulltextServiceClient();
            var result = fulltextServiceClient.SearchHitsWithPageContext(project.SnapshotId, start, count, contextLength, criteria);

            return(new SearchHitsResultData
            {
                SearchResultType = PageSearchResultType.TextExternalId,
                ResultList = result.ResultList.Select(x => new PageResultContextData
                {
                    ContextStructure = x.ContextStructure, StringId = x.PageExternalId
                }).ToList(),
            });
        }
Exemple #4
0
        public SearchHitsResultData SearchHitsWithPageContext(int start, int count, int contextLength, List <SearchCriteriaContract> criteria,
                                                              ProjectIdentificationResult project)
        {
            UpdateCriteriaWithBookVersionRestriction(criteria, new List <ProjectIdentificationResult> {
                project
            });

            criteria.Add(new ResultCriteriaContract
            {
                //Start = 0,
                //Count = 5, // if count == 1 then response is empty
                //Sorting = SortEnum.Title,
                //Direction = ListSortDirection.Ascending,
                HitSettingsContract = new HitSettingsContract
                {
                    Start         = start,
                    Count         = count,
                    ContextLength = 50,
                }
            });

            using (var ssc = m_communicationProvider.GetSearchServiceClient())
            {
                var dbResult   = ssc.ListSearchEditionsResults(criteria);
                var bookResult = dbResult.SearchResults.FirstOrDefault();
                var resultList = new List <PageResultContextData>();

                if (bookResult != null)
                {
                    resultList = bookResult.Results.Select(x => new PageResultContextData
                    {
                        StringId         = x.PageXmlId,
                        ContextStructure = x.ContextStructure,
                    }).ToList();
                }

                return(new SearchHitsResultData
                {
                    SearchResultType = PageSearchResultType.TextExternalId,
                    ResultList = resultList
                });
            }
        }
Exemple #5
0
        public virtual ProjectIdentificationResult GetProjectIdentification(long projectId)
        {
            ProjectIdentificationResult resultAlias      = null;
            Snapshot            snapshotAlias            = null;
            BookVersionResource bookVersionResourceAlias = null;

            var dbResult = GetSession().QueryOver <Project>()
                           .JoinAlias(x => x.LatestPublishedSnapshot, () => snapshotAlias)
                           .JoinAlias(() => snapshotAlias.BookVersion, () => bookVersionResourceAlias, JoinType.LeftOuterJoin)
                           .SelectList(list => list
                                       .Select(x => x.Id).WithAlias(() => resultAlias.ProjectId)
                                       .Select(x => x.ExternalId).WithAlias(() => resultAlias.ProjectExternalId)
                                       .Select(() => snapshotAlias.Id).WithAlias(() => resultAlias.SnapshotId)
                                       .Select(() => bookVersionResourceAlias.ExternalId).WithAlias(() => resultAlias.BookVersionExternalId)
                                       .Select(x => x.ProjectType).WithAlias(() => resultAlias.ProjectType)
                                       )
                           .Where(x => x.Id == projectId && x.IsRemoved == false)
                           .TransformUsing(Transformers.AliasToBean <ProjectIdentificationResult>())
                           .SingleOrDefault <ProjectIdentificationResult>();

            return(dbResult);
        }
Exemple #6
0
        public PageSearchResultData SearchPageByCriteria(List <SearchCriteriaContract> criteria, ProjectIdentificationResult project)
        {
            var fulltextServiceClient = m_communicationProvider.GetFulltextServiceClient();
            var result = fulltextServiceClient.SearchPageByCriteria(project.SnapshotId, criteria);

            return(new PageSearchResultData
            {
                SearchResultType = PageSearchResultType.TextExternalId,
                StringList = result.TextIdList,
            });
        }
Exemple #7
0
        public PageSearchResultData SearchPageByCriteria(List <SearchCriteriaContract> criteria, ProjectIdentificationResult project)
        {
            UpdateCriteriaWithBookVersionRestriction(criteria, new List <ProjectIdentificationResult> {
                project
            });

            using (var ssc = m_communicationProvider.GetSearchServiceClient())
            {
                var dbResult   = ssc.GetSearchEditionsPageList(criteria);
                var projectIds = dbResult.PageList.Select(x => x.PageXmlId).ToList();

                return(new PageSearchResultData
                {
                    StringList = projectIds,
                    SearchResultType = PageSearchResultType.TextExternalId,
                });
            }
        }