Example #1
0
        private async void controlsSearchBox_QuerySubmitted(AutoSuggestBox sender, AutoSuggestBoxQuerySubmittedEventArgs args)
        {
            if (args.ChosenSuggestion != null && args.ChosenSuggestion is MicrosoftStore.Models.Product product)
            {
                try
                {
                    LoadingIndicator.Visibility = Visibility.Visible;

                    var    culture   = CultureInfo.CurrentUICulture;
                    var    region    = new RegionInfo(culture.LCID);
                    string productId = product.Metas.First(m => m.Key == "BigCatalogId").Value;

                    // Get the full product details
                    var item = await Ioc.Default.GetRequiredService <MicrosoftStore.IStorefrontApi>().GetProduct(productId, region.TwoLetterISORegionName, culture.Name);

                    var candidate = item.Convert <MicrosoftStore.Models.ProductDetails>().Payload;
                    if (candidate?.PackageFamilyNames != null && candidate?.ProductId != null)
                    {
                        CurrentProduct = candidate;
                        LoadingIndicator.Visibility = Visibility.Collapsed;
                        NavService.Navigate(typeof(Views.ProductDetailsView), CurrentProduct);
                    }
                }
                catch (ArgumentNullException ex)
                {
                    Debug.WriteLine(ex.ParamName + ":\r\n" + ex.StackTrace);
                }
            }
            else if (!string.IsNullOrEmpty(args.QueryText))
            {
                NavService.Navigate(typeof(Views.SearchResultsView), args.QueryText);
            }
        }
Example #2
0
        private async void controlsSearchBox_QuerySubmitted(AutoSuggestBox sender, AutoSuggestBoxQuerySubmittedEventArgs args)
        {
            if (args.ChosenSuggestion != null && args.ChosenSuggestion is MicrosoftStore.Models.Product product)
            {
                try
                {
                    LoadingIndicator.Visibility = Visibility.Visible;

                    var    culture   = CultureInfo.CurrentUICulture;
                    var    region    = new RegionInfo(culture.LCID);
                    string productId = product.Metas.First(m => m.Key == "BigCatalogId").Value;

                    // Get the full product details
                    var item = await Apis.StorefrontApi.GetProduct(productId, region.TwoLetterISORegionName, culture.Name);

                    var candidate = item.Convert <MicrosoftStore.Models.ProductDetails>().Payload;
                    if (candidate?.PackageFamilyNames != null && candidate?.ProductId != null)
                    {
                        CurrentProduct = candidate;
                        LoadingIndicator.Visibility = Visibility.Collapsed;
                        Frame.Navigate(typeof(Views.ProductDetailsView), CurrentProduct);
                    }

                    //LoadingIndicator.Visibility = Visibility.Visible;

                    //ImageBackPanel.Visibility = Visibility.Collapsed;
                    //TitlePanel.Visibility = Visibility.Collapsed;
                    //InstallButton.Visibility = Visibility.Collapsed;
                    //ImagePanel.Source = new Windows.UI.Xaml.Media.Imaging.BitmapImage(product.ImageUri);
                    //TitlePanel.Text = product.Title;
                    //ImageBackPanel.Visibility = Visibility.Visible;
                    //TitlePanel.Visibility = Visibility.Visible;

                    //var culture = CultureInfo.CurrentUICulture;
                    //var region = new RegionInfo(culture.LCID);

                    //LinksView.Items.Clear();
                    //string productId = product.Metas.First(m => m.Key == "BigCatalogId").Value;
                    //var packs = await AdGuard.AdGuardApi.GetFilesFromProductId(
                    //    productId, culture.Name
                    //);
                    //if (packs != null)
                    //{
                    //    // Get the full product details
                    //    var page = await Apis.StorefrontApi.GetPage(productId, region.TwoLetterISORegionName, culture.Name, "0.0.0.0");
                    //    foreach (var item in page)
                    //    {
                    //        var candidate = (item.Payload as Newtonsoft.Json.Linq.JObject).ToObject<MicrosoftStore.Models.ProductDetails>();
                    //        if (candidate?.PackageFamilyNames != null && candidate?.ProductId != null)
                    //        {
                    //            CurrentProduct = candidate;
                    //            break;
                    //        }
                    //    }
                    //    if (CurrentProduct == null)
                    //        return;

                    //    foreach (AdGuard.Models.Package package in packs)
                    //        LinksView.Items.Add(package);
                    //    CurrentPackage = Utils.GetLatestDesktopPackage(packs, CurrentProduct);

                    //    InstallButton.Visibility = Visibility.Visible;
                    //}
                    //else
                    //{
                    //    //LinksView.Items.Add("No packages found");
                    //}
                    //LoadingIndicator.Visibility = Visibility.Collapsed;
                }
                catch (ArgumentNullException ex)
                {
                    Debug.WriteLine(ex.ParamName + ":\r\n" + ex.StackTrace);
                }
            }
            else if (!string.IsNullOrEmpty(args.QueryText))
            {
                //NavigationRootPage.RootFrame.Navigate(typeof(SearchResultsPage), args.QueryText);
            }
        }