/// <summary> /// Adds a new item /// </summary> /// <param name="info">Info.</param> void NewItem(FileSystemInfo info) { try { string[] keywords = Splitter.Split(info.Name.ToLower()); IInteraction newInteraction = new LightFilesystemInteraction(info, keywords, RootPath); if (info is FileInfo) { newFile.TryProcess(newInteraction); } if (info is DirectoryInfo) { newDirectory.TryProcess(newInteraction); } infoCache [info.FullName] = info; } catch (Exception exception) { Secretary.Report(5, "Inclusion of new file failed; ", exception.Message); } }
/// <summary> /// Removes an item. /// </summary> /// <param name="info">Info.</param> void RemoveItem(FileSystemInfo info) { try { infoCache.Dictionary.Remove(info.FullName); string[] keywords = Splitter.Split(info.Name.ToLower()); IInteraction removalInteraction = new LightFilesystemInteraction(info, keywords, RootPath); if (info is FileInfo) { deletedFile.TryProcess(removalInteraction); } if (info is DirectoryInfo) { deletedDirectory.TryProcess(removalInteraction); } } catch (Exception exception) { Secretary.Report(5, "Removal of missing file failed; ", exception.Message); } }