public override FileReference SaveImage(Bitmap image)
        {
            var imageFileName = GetFileNameBasedOnTitle(Title, SiteContext.WorkingDirectory);

            fileSystem.SaveImagePng(image, imageFileName);

            var relativePath = ToRelativePath(SiteContext.WorkingDirectory, SiteContext.WorkingDirectory, imageFileName);
            var fileReference = new FileReference(imageFileName, relativePath, false);
            imagesToSave.Add(fileReference);

            return fileReference;
        }
        public override FileReference SaveImage(Bitmap image)
        {
            var imageFileName = GetFileNameBasedOnTitle(Title, siteContext.SiteBasePath);

            using (var stream = new FileStream(imageFileName, FileMode.Create))
            {
                image.Save(stream, ImageFormat.Png);
            }

            var relativePath = "/" + ToRelativePath(siteContext.SiteBasePath, FileName, imageFileName).TrimStart('\\', '/');
            var fileReference = new FileReference(imageFileName, relativePath, true);
            AddFile(fileReference);

            return fileReference;
        }
        public async Task SaveDocumentAs_CopiesAssociatedFiles()
        {
            // arrange
            dialogService.GetFileSavePath(Arg.Any<string>(), Arg.Any<string>(), Arg.Any<string>()).Returns(@"c:\AnotherPath\Test.md");
            const string content = @"Some text

![Alt](AssociatedImage.png)";
            var fileReference = new FileReference(@"c:\Path\AssociatedImage.png", "AssociatedImage.png", true);
            var doc = new TestMarkpadDocumentBase("Title", content, null, new[]{fileReference}, documentFactory,
                                                  Substitute.For<ISiteContext>(), fileSystem);

            // act
            var document = await documentFactory.SaveDocumentAs(doc);

            // assert
            Assert.Equal(1, document.AssociatedFiles.Count());
            Assert.Equal(@"c:\AnotherPath\AssociatedImage.png", document.AssociatedFiles.Single().FullPath);
            Assert.Equal("AssociatedImage.png", document.AssociatedFiles.Single().RelativePath);
            fileSystem.File.Received().Copy(@"c:\Path\AssociatedImage.png", @"c:\AnotherPath\AssociatedImage.png");
        }
        public override FileReference SaveImage(Bitmap image)
        {
            var workingDirectory = SiteContext.WorkingDirectory;
            var imageFileName = GetFileNameBasedOnTitle(Title, workingDirectory);

            image.Save(Path.Combine(workingDirectory, imageFileName), ImageFormat.Png);

            var relativePath = ToRelativePath(workingDirectory, workingDirectory, imageFileName);
            var fileReference = new FileReference(imageFileName, relativePath, false);
            AddFile(fileReference);

            return fileReference;
        }
 public void AddFile(FileReference fileReference)
 {
     associatedFiles.Add(fileReference);
 }