/// <summary> /// Sets the specified site information. /// </summary> /// <param name="name">The name.</param> /// <param name="site">The site.</param> public void Set(string name, CdnFinderSite site) { // Clear the resources list. this.listViewResources.Items.Clear(); if (null == site) { this.pictureBox.Image = Resources.GlobeError_48; this.labelTitle.Text = "Site not found"; this.textBoxSite.Clear(); this.textBoxUrl.Clear(); this.textBoxAssetCdn.Clear(); this.textBoxBaseCdn.Clear(); } else if (site.Success) { this.pictureBox.Image = Resources.GlobeSuccess_48; this.labelTitle.Text = name; this.textBoxSite.Text = name; this.textBoxUrl.Text = site.Site; this.textBoxAssetCdn.Text = site.AssetCdn; this.textBoxBaseCdn.Text = site.BaseCdn; foreach (CdnFinderResource resource in site.Resources) { ListViewItem item = new ListViewItem(new string[] { resource.Hostname, resource.Count.ToString(), resource.Size.ToString(), resource.Cdn, resource.IsBase ? "Yes" : "No" }); item.ImageIndex = 0; this.listViewResources.Items.Add(item); } } else { this.pictureBox.Image = Resources.GlobeWarning_48; this.labelTitle.Text = "No site information"; this.textBoxSite.Clear(); this.textBoxUrl.Clear(); this.textBoxAssetCdn.Clear(); this.textBoxBaseCdn.Clear(); } }
// Public methods. public static CdnFinderSite Parse(XElement element) { // Create a new site object. CdnFinderSite site = new CdnFinderSite(element.Element("domain").Value); XElement status = element.Element("status"); if ((null != status) && (status.Value.ToLower().Equals("failure"))) { // Set success to false. site.Success = false; } else { // Set success to true. site.Success = true; // Parse the properties. site.AssetCdn = element.Element("assetcdn").Value; site.BaseCdn = element.Element("basecdn").Value; // Parse the site resources. foreach (XElement child in element.Elements("resource")) { site.resources.Add(CdnFinderResource.Parse(child)); } } // Return the site object. return site; }