Example #1
0
        /// <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();
        }