protected override System.Collections.IEnumerable ExecuteSelect(DataSourceSelectArguments arguments) { ItemDataSourceSelectingEventArgs selectingArgs = new ItemDataSourceSelectingEventArgs(arguments); OnSelecting(selectingArgs); Collections.ItemListEventArgs args = new N2.Collections.ItemListEventArgs(GetAllItems()); if (args.Items == null) { return(null); } if (selectingArgs.Arguments.RetrieveTotalRowCount) { selectingArgs.Arguments.TotalRowCount = args.Items.Count; } if (!string.IsNullOrEmpty(selectingArgs.Arguments.SortExpression) && selectingArgs.Arguments.SortExpression != currentSortExpression) { args.Items.Sort(new Collections.ItemComparer(selectingArgs.Arguments.SortExpression)); currentSortExpression = selectingArgs.Arguments.SortExpression; } else if (!string.IsNullOrEmpty(SortBy)) { args.Items.Sort(new Collections.ItemComparer(SortBy)); } OnFiltering(args); if (Filter != null || (selectingArgs.Arguments.StartRowIndex >= 0 && selectingArgs.Arguments.MaximumRows > 0)) { Collections.ItemList filteredItems = args.Items; if (Filter != null) { filteredItems = new Collections.ItemList(filteredItems, Filter); } if (selectingArgs.Arguments.StartRowIndex >= 0 && selectingArgs.Arguments.MaximumRows > 0) { filteredItems = new Collections.ItemList(filteredItems, new Collections.CountFilter(selectingArgs.Arguments.StartRowIndex, selectingArgs.Arguments.MaximumRows)); } args = new N2.Collections.ItemListEventArgs(filteredItems); } OnSelected(args); return(args.Items); }
protected override int ExecuteDelete(System.Collections.IDictionary keys, System.Collections.IDictionary oldValues) { Collections.ItemListEventArgs args = new N2.Collections.ItemListEventArgs(GetItemsFromIdentifiers(keys)); OnDeleting(args); foreach (ContentItem item in args.Items) { Engine.Persister.Delete(item); } OnDeleted(args); if (args.Items.Count > 0) { OnDataSourceViewChanged(EventArgs.Empty); } return(args.Items.Count); }
protected override IEnumerable ExecuteSelect(DataSourceSelectArguments arguments) { if (this.Query != null) { ItemDataSourceSelectingEventArgs selectingArgs = new ItemDataSourceSelectingEventArgs(arguments); OnSelecting(selectingArgs); IList<ContentItem> items = Query .FirstResult(selectingArgs.Arguments.StartRowIndex) .MaxResults(selectingArgs.Arguments.MaximumRows) .Select(); Collections.ItemListEventArgs args = new N2.Collections.ItemListEventArgs(new Collections.ItemList(items)); OnSelected(args); return args.Items; } else return null; }
protected override IEnumerable ExecuteSelect(DataSourceSelectArguments arguments) { if (this.Query != null) { ItemDataSourceSelectingEventArgs selectingArgs = new ItemDataSourceSelectingEventArgs(arguments); OnSelecting(selectingArgs); IList <ContentItem> items = Query .FirstResult(selectingArgs.Arguments.StartRowIndex) .MaxResults(selectingArgs.Arguments.MaximumRows) .Select(); Collections.ItemListEventArgs args = new N2.Collections.ItemListEventArgs(new Collections.ItemList(items)); OnSelected(args); return(args.Items); } else { return(null); } }
protected override int ExecuteUpdate(System.Collections.IDictionary keys, System.Collections.IDictionary values, System.Collections.IDictionary oldValues) { Collections.ItemListEventArgs args = new N2.Collections.ItemListEventArgs(GetItemsFromIdentifiers(keys)); OnUpdating(args); foreach (ContentItem item in args.Items) { foreach (string propertyName in values.Keys) { item[propertyName] = values[propertyName]; } Engine.Persister.Save(item); } OnUpdated(args); if (args.Items.Count > 0) { OnDataSourceViewChanged(EventArgs.Empty); } return(args.Items.Count); }
protected override System.Collections.IEnumerable ExecuteSelect(DataSourceSelectArguments arguments) { ItemDataSourceSelectingEventArgs selectingArgs = new ItemDataSourceSelectingEventArgs(arguments); OnSelecting(selectingArgs); Collections.ItemListEventArgs args = new N2.Collections.ItemListEventArgs(GetAllItems()); if (args.Items == null) return null; if(selectingArgs.Arguments.RetrieveTotalRowCount) selectingArgs.Arguments.TotalRowCount = args.Items.Count; if (!string.IsNullOrEmpty(selectingArgs.Arguments.SortExpression) && selectingArgs.Arguments.SortExpression != currentSortExpression) { args.Items.Sort(new Collections.ItemComparer(selectingArgs.Arguments.SortExpression)); currentSortExpression = selectingArgs.Arguments.SortExpression; } else if (!string.IsNullOrEmpty(SortBy)) { args.Items.Sort(new Collections.ItemComparer(SortBy)); } OnFiltering(args); if (Filter != null || (selectingArgs.Arguments.StartRowIndex >= 0 && selectingArgs.Arguments.MaximumRows > 0)) { Collections.ItemList filteredItems = args.Items; if (Filter != null) filteredItems = new Collections.ItemList(filteredItems, Filter); if (selectingArgs.Arguments.StartRowIndex >= 0 && selectingArgs.Arguments.MaximumRows > 0) filteredItems = new Collections.ItemList(filteredItems, new Collections.CountFilter(selectingArgs.Arguments.StartRowIndex, selectingArgs.Arguments.MaximumRows)); args = new N2.Collections.ItemListEventArgs(filteredItems); } OnSelected(args); return args.Items; }
void idsNews_Filtering(object sender, N2.Collections.ItemListEventArgs e) { Collections.TypeFilter.Filter(e.Items, typeof(N2.Templates.Items.News)); }
void idsNews_Filtering(object sender, N2.Collections.ItemListEventArgs e) { CurrentItem.Filter(e.Items); }
protected override int ExecuteUpdate(System.Collections.IDictionary keys, System.Collections.IDictionary values, System.Collections.IDictionary oldValues) { Collections.ItemListEventArgs args = new N2.Collections.ItemListEventArgs(GetItemsFromIdentifiers(keys)); OnUpdating(args); foreach (ContentItem item in args.Items) { foreach (string propertyName in values.Keys) item[propertyName] = values[propertyName]; Engine.Persister.Save(item); } OnUpdated(args); if (args.Items.Count > 0) OnDataSourceViewChanged(EventArgs.Empty); return args.Items.Count; }
protected override int ExecuteDelete(System.Collections.IDictionary keys, System.Collections.IDictionary oldValues) { Collections.ItemListEventArgs args = new N2.Collections.ItemListEventArgs(GetItemsFromIdentifiers(keys)); OnDeleting(args); foreach(ContentItem item in args.Items) Engine.Persister.Delete(item); OnDeleted(args); if (args.Items.Count > 0) OnDataSourceViewChanged(EventArgs.Empty); return args.Items.Count; }