Exemplo n.º 1
0
 protected override void OnNavigatedTo(NavigationEventArgs e)
 {
     this.selectedGroup = (Application.Current as App).selectedGroup;
     base.OnNavigatedTo(e);
 }
Exemplo n.º 2
0
        private void GetGroupsResponse(IAsyncResult result)
        {
            HttpWebRequest request = result.AsyncState as HttpWebRequest;
            if (request != null)
            {
                try
                {
                    WebResponse response = request.EndGetResponse(result);
                    Stream outStream = response.GetResponseStream();
                    StreamReader reader =  new StreamReader(outStream);
                    string xmlResult = reader.ReadToEnd();
                    XDocument xdoc = XDocument.Parse(xmlResult);

                    IEnumerable<XElement> items = xdoc.Descendants("item");
                    foreach (XElement item in items)
                    {
                        String groupName = item.Element("name").Value;
                        String city = item.Element("city").Value;
                        XElement descriptionNode = item.Element("description");

                        HtmlAgilityPack.HtmlDocument descriptionHtml = new HtmlAgilityPack.HtmlDocument();
                        descriptionHtml.LoadHtml(descriptionNode.Value);

                        while (descriptionHtml.DocumentNode.SelectSingleNode("p/img") != null)
                        {
                            descriptionHtml.DocumentNode.SelectSingleNode("p/img").Remove();
                        }

                        while (descriptionHtml.DocumentNode.SelectSingleNode("p/a") != null)
                        {
                            descriptionHtml.DocumentNode.SelectSingleNode("p/a").Remove();
                        }

                        String description = RemoveHtmlTags(descriptionHtml.DocumentNode.OuterHtml);
                       
                        String link = item.Element("link").Value;
                        long count = long.Parse(item.Element("members").Value);
                        String country = item.Element("country").Value.ToString();
                        String logoUrl = item.Element("group_photo") != null? item.Element("group_photo").Element("thumb_link").Value : "";

                        Group newGroup = new Group(groupName, city);
                        newGroup.description = description;
                        newGroup.uri = link;
                        newGroup.memberCount = count;
                        newGroup.country = country;
                        newGroup.logoUri = logoUrl;

                        panoramaGroups.Add(newGroup);
                    }

                    Dispatcher.BeginInvoke(() =>
                    {
                        DispatchGroupInfo();
                    });

                    (Application.Current as App).panoramaGroups = this.panoramaGroups;
                }
                catch (WebException e)
                {
                    return ;
                }
            }
        }