public IEnumerable <HierarchyLinks> BuildHeirarchyChildLinks(I___BaseTaxonomy taxItem) { var children = new List <HierarchyLinks>(); Dictionary <Guid, HierarchyLinks> taxonomyItems = new Dictionary <Guid, HierarchyLinks>(); foreach (var taxonomy in taxItem.Taxonomies) { var taxonomyTree = GetTaxonomyHierarchy(taxonomy); if (!taxonomyItems.ContainsKey(taxonomyTree.Item1._Id)) { taxonomyItems.Add(taxonomyTree.Item1._Id, new HierarchyLinks { Text = taxonomyTree.Item1._Name, Url = string.Empty, Children = new List <HierarchyLinks>() }); } var folderItem = taxonomyItems[taxonomyTree.Item1._Id]; foreach (var item in taxonomyTree.Item3) { if (!taxonomyItems.ContainsKey(item._Parent._Id)) { taxonomyItems.Add(item._Parent._Id, new HierarchyLinks { Text = item.Item_Name, Url = SearchTaxonomyUtil.GetSearchUrl(item), Children = new List <HierarchyLinks>() }); } var lItem = new HierarchyLinks { Text = item.Item_Name, Url = SearchTaxonomyUtil.GetSearchUrl(item), Children = new List <HierarchyLinks>() }; if (!taxonomyItems.ContainsKey(item._Id)) { taxonomyItems.Add(item._Id, lItem); } var parent = taxonomyItems[item._Parent._Id]; var pList = parent.Children.ToList(); if (!pList.Any(a => a.Text.Equals(lItem.Text))) { pList.Add(lItem); } parent.Children = pList; } if (!children.Any(x => x.Text.Equals(folderItem.Text))) { children.Add(folderItem); } } return(children); }
public override object GetFieldValue(I___BaseTaxonomy indexItem) { if (indexItem?.Taxonomies != null) { var subjectTaxonomyItems = indexItem.Taxonomies.Where(x => SearchTaxonomyUtil.IsSubjectTaxonomy(x._Path)); return(SearchTaxonomyUtil.GetHierarchicalFacetFieldValue(subjectTaxonomyItems)); } return(new List <string>()); }
public override object GetFieldValue(I___BaseTaxonomy glassItem) { if (glassItem?.Taxonomies != null) { var taxonomyItems = glassItem.Taxonomies.Where(x => SearchTaxonomyUtil.IsIndustryTaxonomy(x._Path)); return(taxonomyItems.Where(x => !string.IsNullOrEmpty(x.Item_Name)).Select(x => x.Item_Name.Trim()).ToList()); } return(new List <string>()); }
private IEnumerable <ILinkable> BuildLinkableTaxonomies(IArticle article) { var taxItems = article.Taxonomies? .Select(x => new LinkableModel { LinkableText = x.Item_Name, LinkableUrl = SearchTaxonomyUtil.GetSearchUrl(x) }).ToList(); return(taxItems); }
public ArticleTagsViewModel( IRenderingItemContext articleRenderingContext) { ArticleRenderingContext = articleRenderingContext; Tags = ArticleRenderingContext.Get <I___BaseTaxonomy>().Taxonomies.Take(3).Select(x => new LinkableModel { LinkableText = x.Item_Name, LinkableUrl = SearchTaxonomyUtil.GetSearchUrl(x) }); }
public override object GetFieldValue(I___BaseTaxonomy indexItem) { if (indexItem?.Taxonomies == null || !indexItem.Taxonomies.Any()) { return(string.Empty); } HtmlLinkList links = new HtmlLinkList { Links = indexItem.Taxonomies.Take(3).Select(t => new HtmlLink { Title = t.Item_Name?.Trim() ?? string.Empty, Url = SearchTaxonomyUtil.GetSearchUrl(t) }).ToList() }; return(new JavaScriptSerializer().Serialize(links)); }
public void Other_Page() { if (DisplayTitle) { Topics = Parameters.Subjects.Select(s => s.Item_Name).ToArray(); TitleText = GetTitleText(); } if (SeeAllLink != null) { string url = SearchTaxonomyUtil.GetSearchUrl(Parameters.Subjects.ToArray()); if (Authors.Count > 0) { var appender = (url.Contains("?")) ? "&" : string.Empty; url = $"{url}{appender}author={string.Join(",", Authors)}"; } if (Parameters.Publications?.Count() > 0) { var appender = (url.Contains("?")) ? "&" : string.Empty; url = $"{url}{appender}publication={string.Join(";", Parameters.Publications.Select(s => s.Publication_Name))}"; } SeeAllLink.Url = url; } }