private async Task OpenInnerAsync(string fileName, Func <TDocument> ifNotExists = null) { string ext = Path.GetExtension(fileName); string openFile = fileName; if (FileHandlers.ContainsKey(ext)) { openFile = FileHandlers[ext].Invoke(fileName); } Document = await JsonFile.LoadAsync(openFile, ifNotExists); Filename = openFile; FileOpened?.Invoke(this, new EventArgs()); }
private List <FileInfo> DoScan(DirectoryInfo directory) { if (directory == null) { return(null); } var files = new List <FileInfo>(); foreach (var file in directory.EnumerateFiles("*.*", SearchOption.AllDirectories)) { if (Scanner.CancellationPending) { return(null); } if (FileHandlers.ContainsKey(file.Extension)) { files.Add(file); } } return(files); }