private void OnCatalogueItemsPropertyChanged(object sedner, NotifyCollectionChangedEventArgs args) { if (ActiveLibrary != null && (args.Action == NotifyCollectionChangedAction.Add || args.Action == NotifyCollectionChangedAction.Remove)) { ActiveLibrary.CatalogueCount = CatalogueItems.Count(); } }
/// <inheritdoc/> public ExtractionInformation[] GetAllExtractionInformation(ExtractionCategory category) { return (CatalogueItems.Select(ci => ci.ExtractionInformation) .Where(e => e != null && (e.ExtractionCategory == category || category == ExtractionCategory.Any)) .ToArray()); }
private IEnumerable <ColumnInfo> GetColumnInfos() { if (CatalogueItems.All(ci => ci.IsColumnInfoCached())) { return(CatalogueItems.Select(ci => ci.ColumnInfo).Where(col => col != null)); } return(Repository.GetAllObjectsInIDList <ColumnInfo>(CatalogueItems.Where(ci => ci.ColumnInfo_ID.HasValue).Select(ci => ci.ColumnInfo_ID.Value).Distinct().ToList())); }
public void DeleteItem(LibraryModelItem item) { XElement node = (from nedNodeElements in LibraryDocument.Descendants(NedNodeTag) where (string)nedNodeElements.Attribute(NedNodeIdAttribute) == item.Id select nedNodeElements).FirstOrDefault(); if (node != null) { node.Remove(); } if (item is CatalogueModelItem) { CatalogueItems.Remove(item as CatalogueModelItem); var query = from categoriesToRemove in CategoryItems where categoriesToRemove.ParentId == item.Id select categoriesToRemove; List <CategoryModelItem> catTempList = query.ToList <CategoryModelItem>(); foreach (LibraryModelItem itemToRemove in catTempList) { DeleteItem(itemToRemove); } } else if (item is CategoryModelItem) { CategoryItems.Remove(item as CategoryModelItem); foreach (LibraryModelItem miToRemove in (item as CategoryModelItem).Children()) { DeleteItem(miToRemove); } } else if (item is MediaItemsListModelItem) { MediaItemsListModelItem mediaItem = item as MediaItemsListModelItem; MediaItems.Remove(mediaItem); App.Engine.DeleteMediaItem(mediaItem); } else { Debug.Assert(false, FileLanguage.LibraryModel_RemovingUnknowTypeError); } App.Engine.StatisticsManager.LogItemDeleted(item.Id); OnLibraryItemRemoved(new LibraryRemovedEventArgs() { RemovedItem = item }); }