/// <summary>Find out if an item name is occupied.</summary> /// <param name="name">The name to check.</param> /// <param name="item">The item whose siblings (other items with the same parent) might be have a clashing name.</param> /// <returns>True if the name is unique.</returns> public virtual bool IsLocallyUnique(string name, ContentItem item) { if (name == null || item == null) { return(true); } ContentItem parentItem = item.Parent; if (parentItem != null) { var similarItems = GetItemsWithSameName(name, parentItem); foreach (var potentiallyClashingItem in similarItems) { if (item.Equals(potentiallyClashingItem)) { // it's me! continue; } if ((item.ID == 0 && item.State != ContentState.New) ^ potentiallyClashingItem.ID == 0) { // it's probably a version of myself, TODO: save version key on master item continue; } return(false); } } return(true); }
private Control CreateInternalLink(Control container, ViewContext context, string fragment) { string[] fragments = fragment.Split('|'); ContentItem existingArticle = context.Article.WikiRoot.GetChild(fragments[0]); if (existingArticle != null && !existingArticle.Equals(context.Article.WikiRoot)) { return(AppendAnchor(container, fragments.Length > 1 ? fragments[1] : fragments[0], existingArticle.Url, true)); } else { string url = Url.Parse(context.Article.WikiRoot.Url).AppendSegment(fragments[0]); return(AppendAnchor(container, fragments.Length > 1 ? fragments[1] : fragments[0], url, false)); } }
protected bool IsPublished(object dataItem) { var item = dataItem as ContentItem; return(publishedItem.Equals(item) && item.Published.HasValue); }
/// <summary>Find out if an item name is occupied.</summary> /// <param name="name">The name to check.</param> /// <param name="item">The item whose siblings (other items with the same parent) might be have a clashing name.</param> /// <returns>True if the name is unique.</returns> public virtual bool IsLocallyUnique(string name, ContentItem item) { if (name == null || item == null) return true; ContentItem parentItem = item.Parent; if (parentItem != null) { var similarItems = GetItemsWithSameName(name, parentItem); foreach (var potentiallyClashingItem in similarItems) { if (item.Equals(potentiallyClashingItem)) // it's me! continue; if ((item.ID == 0 && item.State != ContentState.New) ^ potentiallyClashingItem.ID == 0) // it's probably a version of myself, TODO: save version key on master item continue; return false; } } return true; }
protected bool IsPublished(object dataItem) { var item = dataItem as ContentItem; return(item != null && (publishedItem.Equals(item) && item.IsPublished())); }