public static Dynamic.Keyword BuildKeyword(Keyword keyword) { Dynamic.Keyword dk = new Dynamic.Keyword(); dk.Id = keyword.Id; dk.Title = keyword.Title; dk.Path = FindKeywordPath(keyword); dk.Description = keyword.Description; dk.Key = keyword.Key; dk.TaxonomyId = keyword.OrganizationalItem.Id; return dk; }
public static Dynamic.Keyword BuildKeyword(Keyword keyword) { Dynamic.Keyword dk = new Dynamic.Keyword(); dk.Id = keyword.Id; dk.Title = keyword.Title; dk.Path = FindKeywordPath(keyword); dk.Description = keyword.Description; dk.Key = keyword.Key; dk.TaxonomyId = keyword.OrganizationalItem.Id; return(dk); }
public static Dynamic.Keyword BuildKeyword(Keyword keyword, int currentLinkLevel, BuildManager buildManager) { Dynamic.Keyword dk = new Dynamic.Keyword(); dk.Id = keyword.Id; dk.Title = keyword.Title; dk.Path = FindKeywordPath(keyword); dk.Description = keyword.Description; dk.Key = keyword.Key; dk.TaxonomyId = keyword.OrganizationalItem.Id; if (currentLinkLevel > 0) { if (keyword.Metadata != null && keyword.MetadataSchema != null) { var tcmMetadataFields = new Tridion.ContentManager.ContentManagement.Fields.ItemFields(keyword.Metadata, keyword.MetadataSchema); dk.MetadataFields = buildManager.BuildFields(tcmMetadataFields, currentLinkLevel); } } return(dk); }
public Dynamic.IKeyword GetKeyword(string categoryUriToLookIn, string keywordName) { //Create filter to retrieve all keywords in a taxonomy CompositeFilter compFilter = new CompositeFilter(); compFilter.DepthFiltering(DepthFilter.UnlimitedDepth, DepthFilter.FilterUp); compFilter.DepthFiltering(DepthFilter.UnlimitedDepth, DepthFilter.FilterDown); //Get keywords in taxonomy (hierarchically) IEnumerable <Keyword> taxonomy = null; try { //Ugly way to see if a taxonomy exists. Alternative is to loop through all taxonomys in Tridion and check if the categoryUriToLookIn exists... taxonomy = TaxonomyFactory.GetTaxonomyKeywords(categoryUriToLookIn, compFilter, new TaxonomyHierarchyFormatter()).KeywordChildren.Cast <Keyword>(); } catch (Exception) { //TODO: Trace return(null); } //Search in taxonomy Keyword foundKeyword = null; foreach (var currentKeyword in taxonomy) { string currentKeywordName = currentKeyword.KeywordName; if (currentKeywordName != keywordName) { foundKeyword = recursive(currentKeyword.KeywordChildren.Cast <Keyword>().ToList(), keywordName); } else { foundKeyword = currentKeyword; } if (foundKeyword != null) { Dynamic.Keyword returnKeyword = new Dynamic.Keyword(); Keyword par = foundKeyword.ParentKeyword; do { Dynamic.Keyword newParentKeyword = new Dynamic.Keyword(); newParentKeyword.Id = par.KeywordUri; newParentKeyword.TaxonomyId = par.TaxonomyUri; newParentKeyword.Title = par.KeywordName; returnKeyword.ParentKeywords.Add(newParentKeyword); //Add the parentkeyword to the list par = par.ParentKeyword; } while (par != null); //Add remaining properties to the returnKeyword returnKeyword.Id = foundKeyword.KeywordUri; returnKeyword.TaxonomyId = foundKeyword.TaxonomyUri; returnKeyword.Title = foundKeyword.KeywordName; return(returnKeyword); } } return(null); }
public Dynamic.IKeyword GetKeyword(string categoryUriToLookIn, string keywordName) { //Create filter to retrieve all keywords in a taxonomy CompositeFilter compFilter = new CompositeFilter(); compFilter.DepthFiltering(DepthFilter.UnlimitedDepth, DepthFilter.FilterUp); compFilter.DepthFiltering(DepthFilter.UnlimitedDepth, DepthFilter.FilterDown); //Get keywords in taxonomy (hierarchically) IEnumerable<Keyword> taxonomy = null; try { //Ugly way to see if a taxonomy exists. Alternative is to loop through all taxonomys in Tridion and check if the categoryUriToLookIn exists... taxonomy = TaxonomyFactory.GetTaxonomyKeywords(categoryUriToLookIn, compFilter, new TaxonomyHierarchyFormatter()).KeywordChildren.Cast<Keyword>(); } catch (Exception) { //TODO: Trace return null; } //Search in taxonomy Keyword foundKeyword = null; foreach (var currentKeyword in taxonomy) { string currentKeywordName = currentKeyword.KeywordName; if (currentKeywordName != keywordName) { foundKeyword = recursive(currentKeyword.KeywordChildren.Cast<Keyword>().ToList(), keywordName); } else { foundKeyword = currentKeyword; } if (foundKeyword != null) { Dynamic.Keyword returnKeyword = new Dynamic.Keyword(); Keyword par = foundKeyword.ParentKeyword; do { Dynamic.Keyword newParentKeyword = new Dynamic.Keyword(); newParentKeyword.Id = par.KeywordUri; newParentKeyword.TaxonomyId = par.TaxonomyUri; newParentKeyword.Title = par.KeywordName; returnKeyword.ParentKeywords.Add(newParentKeyword); //Add the parentkeyword to the list par = par.ParentKeyword; } while (par != null); //Add remaining properties to the returnKeyword returnKeyword.Id = foundKeyword.KeywordUri; returnKeyword.TaxonomyId = foundKeyword.TaxonomyUri; returnKeyword.Title = foundKeyword.KeywordName; return returnKeyword; } } return null; }