private void OnCatalogueItemsPropertyChanged(object sedner, NotifyCollectionChangedEventArgs args)
 {
     if (ActiveLibrary != null && (args.Action == NotifyCollectionChangedAction.Add || args.Action == NotifyCollectionChangedAction.Remove))
     {
         ActiveLibrary.CatalogueCount = CatalogueItems.Count();
     }
 }
Exemple #2
0
 /// <inheritdoc/>
 public ExtractionInformation[] GetAllExtractionInformation(ExtractionCategory category)
 {
     return
         (CatalogueItems.Select(ci => ci.ExtractionInformation)
          .Where(e => e != null &&
                 (e.ExtractionCategory == category || category == ExtractionCategory.Any))
          .ToArray());
 }
Exemple #3
0
        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
            });
        }