private Task SaveAsync(string filePath, Core.Analysis.AnalysisSnapshot snapshot) { var directory = Path.GetDirectoryName(filePath); // _filesystem.CreateDirectory(directory); return(_filesystem.OpenWrite(filePath).ContinueWith(x => WriteAnalysisSnapshot(x, snapshot))); }
public Task OpenFileAsync(string filePath, long fileSize) { filePath = NormalizeAndEvaluate(filePath); Log.DebugFormat("Creating file '{0}'...", filePath); DeleteFile(filePath); var directoryPath = Path.GetDirectoryName(filePath); CreateDirectoryIfNecessary(directoryPath); var fileStream = _filesystem.OpenWrite(filePath); _files.Add(filePath, fileStream); Log.InfoFormat("Created file '{0}'", filePath); return(Task.FromResult(42)); }
private static void SaveSnapshotAsync(IFilesystem filesystem, BitmapSource screenshot, string destination) { var encoder = new PngBitmapEncoder(); using (var stream = new MemoryStream()) { var frame = BitmapFrame.Create(screenshot); encoder.Frames.Add(frame); encoder.Save(stream); stream.Position = 0; var destinationDirectory = Path.GetDirectoryName(destination); filesystem.CreateDirectory(destinationDirectory); using (var fileStream = filesystem.OpenWrite(destination)) { stream.CopyTo(fileStream); } } }