protected override ListItem[] GetListItems() { ParameterCollection query = Parameter.Equal("State", ContentState.Published); if (LinkedType != null && LinkedType != typeof(ContentItem)) { query &= Parameter.TypeEqual(LinkedType); } if (ExcludedType != null) { query &= Parameter.TypeNotIn(Engine.Definitions.GetDefinitions().Where(d => ExcludedType.IsAssignableFrom(d.ItemType)).Select(d => d.Discriminator).ToArray()); } if (!Is(EditableItemSelectionFilter.Pages)) { query &= Parameter.IsNotNull("ZoneName"); } if (!Is(EditableItemSelectionFilter.Parts)) { query &= Parameter.IsNull("ZoneName"); } var items = Engine.Content.Search.Repository.Select(query, "ID", "Title"); return(items.Select(row => new ListItem((string)row["Title"], row["ID"].ToString())) .ToArray()); }
protected override ListItem[] GetListItems() { ParameterCollection query = new ParameterCollection(); if (!ShowUnpublish) { query &= Parameter.Equal("State", ContentState.Published); } if (ListItemsBelowCurrentStartPageOnly) { var selection = new SelectionUtility(HttpContext.Current, Engine); ContentItem item = selection.SelectedItem; var startPage = Find.ClosestOf <IStartPage>(item); if (startPage == null) { return new ListItem[] { } } ; //No startpage found. Return empty list. if (startPage.VersionOf.HasValue) { startPage = startPage.VersionOf.Value; } query &= Parameter.Below(startPage); } if (LinkedType != null && LinkedType != typeof(ContentItem)) { query &= Parameter.TypeEqual(LinkedType); } if (ExcludedType != null) { query &= Parameter.TypeNotIn(Engine.Definitions.GetDefinitions().Where(d => ExcludedType.IsAssignableFrom(d.ItemType)).Select(d => d.Discriminator).ToArray()); } if (!Is(EditableItemSelectionFilter.Pages)) { query &= Parameter.IsNotNull("ZoneName"); } if (!Is(EditableItemSelectionFilter.Parts)) { query &= Parameter.IsNull("ZoneName"); } var items = Engine.Content.Search.Repository.Select(query, "ID", "Title"); var listItems = items.Select(row => new ListItem((string)row["Title"], row["ID"].ToString())).ToList(); if (Required) { listItems.Insert(0, new ListItem("- Select -", "0")); } return(listItems.ToArray()); }
/// <summary> /// Save the excluded data to settings. /// </summary> /// <param name="fieldId">The field id.</param> /// <param name="fieldName">Name of the field.</param> /// <param name="excludedType">Type of the ally.</param> private void InsertExcludedData(Control fieldId, Control fieldName, ExcludedType excludedType) { if ((fieldName.Text.Length > 0) && (fieldId.Text.Length > 0)) { Excluded excluded = new Excluded { Id = Misc.String2Number(fieldId.Text.Trim()), Name = fieldName.Text.Trim(), Type = excludedType, }; if (!settings.Excluded.Contains(excluded)) { settings.Excluded.Add(excluded); SerializeSettings(); } } else { MessageBox.Show("Id and Name are required!"); } }