/// <summary> /// Invoked when this page is about to be displayed in a Frame. /// </summary> /// <param name="e">Event data that describes how this page was reached. The Parameter /// property is typically used to configure the page.</param> protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); string queryText = (string)e.Parameter; var svc = new CatalogServicesClient(); var result = svc.SearchInCatalogAsync(queryText).Result; var categoriesGroup = new SampleDataGroup("1", "Categories", "Product categories", string.Empty, string.Empty); var categories = from c in result.Categories orderby c.Name select new SampleDataItem(c.Id.ToString(), c.Name, string.Empty, svc.GetImageUrlByCategoryIdAsync(c.Id).Result, c.Description, string.Empty, categoriesGroup) { }; categoriesGroup.SetItems(categories); var productsGroup = new SampleDataGroup("2", "Products", "Products", string.Empty, string.Empty); var products = from c in result.Products orderby c.Name select new SampleDataItem(c.Id.ToString(), c.Name, string.Empty, string.Empty, string.Empty, string.Empty, productsGroup) { }; productsGroup.SetItems(products); var groups = new ObservableCollection <SampleDataGroup>() { categoriesGroup, productsGroup }; this.DefaultViewModel["Groups"] = groups; //RefreshData(); }
public IEnumerable <SampleDataGroup> Search(string query) { var result = this.Service.SearchInCatalogAsync(query).Result; var categoriesGroup = new SampleDataGroup("1", "Categories", "Product categories", string.Empty, string.Empty); var categories = from c in result.Categories orderby c.Name select new SampleDataItem(c.Id.ToString(), c.Name, string.Empty, this.Service.GetImageUrlByCategoryIdAsync(c.Id).Result, c.Description, string.Empty, categoriesGroup) { }; categoriesGroup.SetItems(categories); var productsGroup = new SampleDataGroup("2", "Products", "Products", string.Empty, string.Empty); var products = from c in result.Products orderby c.Name select new SampleDataItem(c.Id.ToString(), c.Name, string.Empty, string.Empty, string.Empty, string.Empty, productsGroup) { }; productsGroup.SetItems(products); var groups = new ObservableCollection <SampleDataGroup>() { categoriesGroup, productsGroup }; return(groups); }
public IEnumerable <SampleDataGroup> Search(string query) { string url = string.Format("{0}/Catalog/Search?query={1}", baseUrl, query); HttpResponseMessage response = new HttpClient().GetAsync(url).Result; string responseString = response.Content.ReadAsStringAsync().Result; var result = JsonConvert.DeserializeObject <SearchResult>(responseString); var categoriesGroup = new SampleDataGroup("1", "Categories", "Product categories", string.Empty, string.Empty); var categories = from c in result.Categories let svcUrl = string.Format("{0}/Catalog/GetImageUrlByCategoryId/{1}", baseUrl, c.Id) let json = new HttpClient().GetAsync(svcUrl).Result.Content.ReadAsStringAsync().Result let imagePath = JsonConvert.DeserializeObject <string>(json) orderby c.Name select new SampleDataItem(c.Id.ToString(), c.Name, string.Empty, imagePath, c.Description, string.Empty, categoriesGroup) { }; categoriesGroup.SetItems(categories); var productsGroup = new SampleDataGroup("2", "Products", "Products", string.Empty, string.Empty); var products = from c in result.Products orderby c.Name select new SampleDataItem(c.Id.ToString(), c.Name, string.Empty, string.Empty, string.Empty, string.Empty, productsGroup) { }; productsGroup.SetItems(products); var groups = new ObservableCollection <SampleDataGroup>() { categoriesGroup, productsGroup }; return(groups); }