protected override async void OnAppearing() { this.image.Source = ImageSource.FromStream(() => new MemoryStream(model.ImageData)); var result = await model.IdentifyImage(); lblDone.IsVisible = true; if (App.UseBing) { Analytics.TrackEvent(Events.BingSearch.ToString()); var url = ProductSearcher.GetSearchUrlForProduct(result); var webView = new WebView { Source = new UrlWebViewSource { Url = url } }; this.Content = webView; } else { await UseOtherSearch(result); } }
private List <ProductModel> GetSearchResult(out int MatchCount, out int PageCount) { SearchInfo InputInfo = new SearchInfo() { ConfigElement = Config.Searches["product"], PageIndex = PageIndex, PageSize = PageSize, QueryString = SearchWord, Category = SearchCategory, sortType = GetSortType() }; Searcher s = new ProductSearcher(InputInfo); List <ISearchEntity> RawResult = s.GetSearchResult(out MatchCount); Logger.Info(String.Format("{0}\t{1}\t{2}\t{3}\t{4}", SearchWord, SearchCategory, SortValue, PageIndex, MatchCount)); //在这里排序 if (IsOrderDesc()) { RawResult.Reverse(); } List <ProductModel> SearchResult = new List <ProductModel>(); int PageLowerBound = (InputInfo.PageIndex - 1) * PageSize; int PageUpperBound = PageLowerBound + PageSize; PageCount = (int)(MatchCount / PageSize) + 1; for (int i = 0; i < RawResult.Count; i++) { if (i >= PageLowerBound && i <= PageUpperBound) { SearchResult.Add((ProductModel)RawResult[i]); } } return(SearchResult); }
public override void When() => _result = ProductSearcher.Search(_productsQuery, _someSearchText);