public bool RenameDirectory(int directoryId, string newDirectoryName) { if (!IsValidDirectoryName(newDirectoryName)) { return(false); } StorageDirectory storageDirectory = _directories.FirstOrDefault(d => d.Id == directoryId); if (storageDirectory == null) { return(false); } storageDirectory.DirectoryName = newDirectoryName; if (DirectoryStructureChanged != null) { DirectoryStructureChanged.Invoke(this, new StorageDirectorySystemEventArgs { DirectoryEventType = StorageFileSystemEventTypes.Renamed, DirectoryId = directoryId, ParentDirectoryId = storageDirectory.ParentId }); } return(true); }
public bool DeleteDirectory(int directoryId) { StorageDirectory storageDirectory = _directories.FirstOrDefault(d => d.Id == directoryId); if (storageDirectory == null) { return(false); } _directories.Remove(storageDirectory); _directoryIdSet.Remove(storageDirectory.Id); DirectoryStructureChanged?.Invoke(this, new StorageDirectorySystemEventArgs { DirectoryEventType = StorageFileSystemEventTypes.Deleted, DirectoryId = directoryId, ParentDirectoryId = storageDirectory.ParentId }); return(true); }
public int CreateDirectory(StorageDirectory parentDirectory, string directoryName) { var storageDirectory = new StorageDirectory { Id = _nextDirectoryId++, ParentId = parentDirectory.Id, DirectoryName = directoryName, CreateDate = DateTime.Now, ModifiedDate = DateTime.Now }; _directories.Add(storageDirectory); _directoryIdSet.Add(storageDirectory.Id); DirectoryStructureChanged?.Invoke(this, new StorageDirectorySystemEventArgs { DirectoryEventType = StorageFileSystemEventTypes.Created, DirectoryId = storageDirectory.Id, ParentDirectoryId = storageDirectory.ParentId }); return(storageDirectory.Id); }