Exemplo n.º 1
0
        /// <summary>
        /// Load Menu Items from the server
        /// </summary>
        private async Task ExecuteLoadItemsCommand()
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;
            var error = false;
            var page  = new ContentPage();

            try
            {
                var httpClient = new HttpClient();

                var uri      = new Uri(string.Format("https://nsha-web.000webhostapp.com/wp-json/wp-api-menus/v2/menus/2", string.Empty));
                var response = await httpClient.GetAsync(uri);

                if (response.IsSuccessStatusCode)
                {
                    var content = await response.Content.ReadAsStringAsync();

                    WordPressMenu wordPressMenu = JsonConvert.DeserializeObject <WordPressMenu>(content);
                    var           wpItems       = wordPressMenu.Items;

                    menuItems.Clear();

                    if (wpItems != null)
                    {
                        Debug.WriteLine("items is not null, count:" + wpItems.Count);


                        foreach (var wpItem in wpItems)
                        {
                            HomeMenuItem menuItem = new HomeMenuItem();
                            menuItem.Title = wpItem.Title;
                            menuItem.Order = wpItem.Order;
                            menuItem.Icon  = "about.png";
                            menuItems.Add(menuItem);
                        }
                    }
                    else
                    {
                        Debug.WriteLine("items is null ");
                        await page.DisplayAlert("Error", "Unable to load podcast feed.", "OK");
                    }
                }
                else
                {
                    Debug.WriteLine("items is not null " + response.IsSuccessStatusCode);
                    await page.DisplayAlert("Error", "Unable to load podcast feed.", "OK");
                }
            }
            catch
            {
                error = true;
            }
            IsBusy = false;
        }
Exemplo n.º 2
0
        /// <summary>
        /// Retrieve the Menu Items from the server.
        /// </summary>
        async Task RefreshDataAsync()
        {
            var httpClient = new HttpClient();
            var uri        = new Uri(string.Format("https://nsha-web.000webhostapp.com/wp-json/wp-api-menus/v2/menus/2", string.Empty));
            var response   = await httpClient.GetAsync(uri);

            if (response.IsSuccessStatusCode)
            {
                var content = await response.Content.ReadAsStringAsync();

                WordPressMenu wordPressMenu = JsonConvert.DeserializeObject <WordPressMenu>(content);
                List <Item>   items         = wordPressMenu.Items;

                menuItems = new List <HomeMenuItem>();

                if (items != null)
                {
                    Debug.WriteLine("items is not null, count:" + items.Count);

                    for (int i = 0; i < items.Count; i++)
                    {
                        HomeMenuItem menuItem = new HomeMenuItem();
                        menuItem.Title = items[i].Title;
                        menuItem.Order = items[i].Order;
                        menuItem.URL   = items[i].URL;
                        menuItem.Icon  = icons[i];
                        menuItems.Add(menuItem);
                    }

                    Debug.WriteLine("items is not null" + items.Count);
                }
                else
                {
                    Debug.WriteLine("items is null ");
                }
            }
            else
            {
                Debug.WriteLine("items is not null " + response.IsSuccessStatusCode);
            }
        }