Ejemplo n.º 1
0
        private void InitializeTagList(string page)
        {
            string tagUri = StackApi.CreateRequestUri("tags", new Dictionary <string, string>
            {
                { "site", this.DisplaySite.ApiSiteParameter },
                { "pagesize", "20" },
                { "page", page }
            });
            TagResponse response = StackApi.FireCacheableRequest <TagResponse>(tagUri, 1800);

            string[] tagNames     = response.Tags.Select(x => x.Name).ToArray();
            string   apiTagString = string.Join(";", tagNames);
            string   wikiUri      = StackApi.CreateRequestUri("tags/{apiTagString}/wikis", new Dictionary <string, string>
            {
                { "site", this.DisplaySite.ApiSiteParameter },
                { "apiTagString", apiTagString }
            });
            TagWikiResponse wikiResponse = StackApi.FireCacheableRequest <TagWikiResponse>(wikiUri, 86400);

            foreach (Tag tag in response.Tags)
            {
                TagWiki wiki;
                try
                {
                    wiki = wikiResponse.TagWikis.First(x => x.TagName == tag.Name);
                }
                catch (InvalidOperationException)
                {
                    wiki = new TagWiki();
                }
                UserControl tagElement = new TagPartial(tag, wiki, this.DisplaySite, this.parentFrame);
                this.TagsPanel.Children.Add(tagElement);
            }
        }
Ejemplo n.º 2
0
 public TagPartial(Tag displayTag, TagWiki wiki, Site parentSite, SiteBase frame)
 {
     InitializeComponent();
     this.DisplayTag  = displayTag;
     this.Wiki        = wiki;
     this.ParentSite  = parentSite;
     this.parentFrame = frame;
     this.Loaded     += TagPartial_Loaded;
 }