private IEnumerable <IEntryModel> getEntryModels(IDataObject dataObject) { if (dataObject.GetDataPresent(DataFormats.FileDrop)) { string[] fileNameList = dataObject.GetData(DataFormats.FileDrop) as string[]; foreach (var fn in fileNameList) { IEntryModel vm = null; try { if (Directory.Exists(fn)) { vm = new FileSystemInfoModel(_fsiProfile, new DirectoryInfo(fn)); } else if (File.Exists(fn)) { vm = new FileSystemInfoModel(_fsiProfile, new FileInfo(fn)); } } catch { vm = null; } if (vm != null) { yield return(vm); } } } }
public override Task <IEntryModel> ParseAsync(string path) { IEntryModel retVal = null; if (Directory.Exists(path)) { retVal = new FileSystemInfoModel(this, createDirectoryInfo(path)); } else if (File.Exists(path)) { retVal = new FileSystemInfoModel(this, createFileInfo(path)); } return(Task.FromResult <IEntryModel>(retVal)); }