public void PopulateTable()
        {
            RowStyles.Clear();
            Controls.Clear();
            if (LocalReferencedArticles.Count + SitecoreReferencedArticles.Count > 0)
            {
                Label ReferencedArticlesHeader = CreateHeaderLabel(@"Referenced Articles: ");
                SetColumnSpan(ReferencedArticlesHeader, ColumnCount);
                RowStyles.Add(new RowStyle(SizeType.Absolute, 20F));
                Controls.Add(ReferencedArticlesHeader);
                ConfigureLabel(ReferencedArticlesHeader);
                foreach (ArticlePreviewInfo article in LocalReferencedArticles)
                {
                    bool bold = !SitecoreReferencedArticles.Select(a => a.ArticleNumber).Contains(article.ArticleNumber);
                    AddRow(article, false, bold, false);
                }
                foreach (ArticlePreviewInfo article in SitecoreReferencedArticles.Where(a => !LocalReferencedArticles.Select(b => b.ArticleNumber).Contains(a.ArticleNumber)))
                {
                    bool italic = !LocalReferencedArticles.Select(a => a.ArticleNumber).Contains(article.ArticleNumber);
                    AddRow(article, italic, false, false);
                }
            }

            if (LocalRelatedArticles.Count + SitecoreRelatedArticles.Count > 0)
            {
                Label RelatedArticlesHeader = CreateHeaderLabel(@"Related Articles: ");
                SetColumnSpan(RelatedArticlesHeader, ColumnCount);
                RowStyles.Add(new RowStyle(SizeType.Absolute, 20F));
                Controls.Add(RelatedArticlesHeader);
            }
            foreach (ArticlePreviewInfo article in SitecoreRelatedArticles)
            {
                if (LocalReferencedArticles.Select(a => a.ArticleNumber).Contains(article.ArticleNumber))
                {                 //sitecore related article already referenced inline locally, so strikeout
                    AddRow(article, true, false, false);
                }
                else
                {
                    AddRow(article);
                }
            }
            foreach (ArticlePreviewInfo article in LocalRelatedArticles)
            {
                if (!HasArticle(SitecoreRelatedArticles, article))
                {
                    AddRow(article, false, true);
                }
            }
            if (IsDifferentFromSitecore())
            {
                MenuItem.HasChanged = true;
                MenuItem.UpdateBackground();
                MenuItem.Refresh();
            }
            UpdateMenuItem();
        }
Example #2
0
 /// <summary>
 /// Updates the Icon Label to indicate the number of selected taxonomies
 /// </summary>
 public void UpdateIcon()
 {
     if (MenuItem != null)
     {
         MenuItem.SetIndicatorIcon(SelectedList.Count == 0 ? Properties.Resources.blankred : Properties.Resources.blankgreen);
         MenuItem.Refresh();
         String iconStr = SelectedList.Count.ToString();
         MenuItem.SetIndicatorNumber(iconStr);
         MenuItem.HasChanged = (HasChanged);
         MenuItem.UpdateBackground();
     }
 }