public void WritablePersistentUniqueIdTest() { var devices = MediaDevice.GetDevices(); var device = devices.FirstOrDefault(this.deviceSelect); Assert.IsNotNull(device, "Device"); device.Connect(); UploadTestTree(device); MediaDirectoryInfo dir = device.GetDirectoryInfo(Path.Combine(this.workingFolder, @"UploadTree\Aaa\Abb")); string dirPui = dir.PersistentUniqueId; MediaDirectoryInfo dirGet = device.GetFileSystemInfoFromPersistentUniqueId(dirPui) as MediaDirectoryInfo; MediaFileInfo file = device.GetFileInfo(Path.Combine(this.workingFolder, @"UploadTree\Aaa\Abb\Acc\Ctest.txt")); string filePui = file.PersistentUniqueId; MediaFileInfo fileGet = device.GetFileSystemInfoFromPersistentUniqueId(filePui) as MediaFileInfo; string tmp = Path.GetTempFileName(); device.DownloadFileFromPersistentUniqueId(filePui, tmp); var text = File.ReadAllText(tmp); device.Disconnect(); Assert.IsNotNull(dirPui, "dirPui"); Assert.AreEqual(dir, dirGet, "dirGet"); Assert.IsNotNull(filePui, "filePui"); Assert.AreEqual(file, fileGet, "fileGet"); Assert.AreEqual("test", text, "text"); }
public void Update(MediaDevice device) { this.device = device; MediaDirectoryInfo root = null; root = this.device?.GetRootDirectory(); this.ExplorerRoot = root != null ? new List <ItemViewModel>() { new ItemViewModel(root) } : null; }
public void PersistentUniqueIdTest() { var devices = MediaDevice.GetDevices(); var device = devices.FirstOrDefault(this.deviceSelect); Assert.IsNotNull(device, "Device"); device.Connect(); MediaDirectoryInfo dir = device.GetFileSystemInfoFromPersistentUniqueId(this.FolderPersistentUniqueId) as MediaDirectoryInfo; MediaFileInfo file = device.GetFileSystemInfoFromPersistentUniqueId(this.FilePersistentUniqueId) as MediaFileInfo; device.Disconnect(); Assert.IsNotNull(dir, "Dir"); Assert.IsTrue(dir.Attributes.HasFlag(MediaFileAttributes.Directory), "dir.IsDirectory"); Assert.AreEqual(this.FolderPersistentUniqueIdPath, dir.FullName, "dir.FullName"); Assert.IsNotNull(file, "File"); Assert.IsTrue(file.Attributes.HasFlag(MediaFileAttributes.Normal), "file.IsFile"); Assert.AreEqual(this.FilePersistentUniqueIdPath, file.FullName, "file.FullName"); }
public void Update(MediaDevice device) { this.device = device; this.root = this.device?.GetRootDirectory(); NotifyAllPropertiesChanged(); }
private static IEnumerable <MediaDirectoryInfo> EnumerateDirectoriesRecursively(MediaDirectoryInfo parentDirectory, int depth = 1) { IEnumerable <MediaDirectoryInfo> result = new List <MediaDirectoryInfo>(); IEnumerable <MediaDirectoryInfo> childDirectories = parentDirectory.EnumerateDirectories(); foreach (MediaDirectoryInfo childDirectory in childDirectories) { result = result.Append(childDirectory); if (depth > 1) { result = result.Concat(EnumerateDirectoriesRecursively(childDirectory, depth - 1)); } } return(result); }