private void AssignTagToItem(CollectionFolder FileItem, string TagName) { if ((FileItem != null)) { if (FileItem.File != null) { // Назначить тэг файлу if (Engine.Get().AssignTag(FileItem.File.FullName, TagName)) { // Обновить список тэгов для файла FileItem.AssignTagsList(Engine.Get().GetFileTags(FileItem.File.FullName)); UpdateCollectionTree(); } } else { // Назначить тэг директории foreach (var CurrFile in FileItem.GetFileItemsList()) { Engine.Get().AssignTag(CurrFile.FullName, TagName); CurrFile.AssignTagsList(Engine.Get().GetFileTags(CurrFile.FullName)); } UpdateCollectionTree(); } } }
private static void ProcessFolderItemTag( ref List <string> IntersectedTags, ref List <string> UnintersectedTags, CollectionFolder SelectedItem) { foreach (TaggedFile CurrentSubItem in SelectedItem.GetFileItemsList()) { ProcessFileItemTag( ref IntersectedTags, ref UnintersectedTags, CurrentSubItem); } }