protected bool PerformSearchEntity(string query, int page) { Debug.Print("PerformSearch: {0}", query); Stopwatch sw = new Stopwatch(); sw.Start(); DateTime start = DateTime.Now; PXEntitySearch search = new PXEntitySearch(); search.Category = GetCategory(); if (!search.IsFullText()) { ShowFullTextWarning(); } List <EntitySearchResult> searchResults = search.Search(query, page, 10); if (searchResults.Count == 0) { if (!search.IsSearchIndexExists()) { DisplayIndexTips(); } else { DisplaySearchTips(query); } return(false); } RenderResultsEntity(searchResults); linkPrev.Visible = search.HasPrevPage; linkNext.Visible = search.HasNextPage; StorePages(-search.PreviousIndex, search.NextIndex); sw.Stop(); Debug.Print("PerformSearch Completed in {0} millisec.", sw.ElapsedMilliseconds); return(true); }
public virtual IEnumerable obfuscatedItems() { string query = null; foreach (PXFilterRow filter in PXView.Filters) { query += filter.Value + " "; } query = query?.Trim(); if (!String.IsNullOrWhiteSpace(query)) { var searchGraph = new PXEntitySearch(); if (searchGraph.IsFullText()) { if (!IsExactMatch(query)) { if (FullTextCapability.Value == BqlFullTextRenderingMethod.MySqlMatchAgainst) { query = ConvertToContainsPaternMySql(query); } else { query = ConvertToContainsPatern(query); } } var selectIndexed = new PXSelectReadonly <SMPersonalDataIndex, Where <Contains <SMPersonalDataIndex.content, Required <SMPersonalDataIndex.content>, SMPersonalDataIndex.indexID> >, OrderBy <Desc <RankOf <SMPersonalDataIndex.content> > > >(this); return(selectIndexed.Select(query)); } else { var selectNonIndexed = new PXSelectReadonly <SearchIndex, Where <SearchIndex.content, Like <Required <SearchIndex.content> > > >(this); return(selectNonIndexed.Select(string.Format("%{0}%", query))); } } var select = new PXSelectReadonly <SMPersonalDataIndex>(this); return(select.Select()); }