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);
            }
        }
Exemple #2
0
        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);
        }
Exemple #3
0
 public override void When() =>
 _result = ProductSearcher.Search(_productsQuery, _someSearchText);