Index: Demo/Ringtoets/src/Demo.Ringtoets/Commands/AddNewDemoDikeAssessmentSectionCommand.cs
===================================================================
diff -u -rad69743281f3934fee4089cb577e078bcb92b736 -r376d4148dc5ffa208c84e70475090e713f2f13c0
--- Demo/Ringtoets/src/Demo.Ringtoets/Commands/AddNewDemoDikeAssessmentSectionCommand.cs (.../AddNewDemoDikeAssessmentSectionCommand.cs) (revision ad69743281f3934fee4089cb577e078bcb92b736)
+++ Demo/Ringtoets/src/Demo.Ringtoets/Commands/AddNewDemoDikeAssessmentSectionCommand.cs (.../AddNewDemoDikeAssessmentSectionCommand.cs) (revision 376d4148dc5ffa208c84e70475090e713f2f13c0)
@@ -64,36 +64,34 @@
private void InitializeDemoReferenceLine(DikeAssessmentSection demoAssessmentSection)
{
- using (var temporaryShapeFile = new TemporaryImportFile("traject_10-1.shp",
- "traject_10-1.dbf", "traject_10-1.prj", "traject_10-1.shx"))
+ using (var embeddedResourceFileWriter = new EmbeddedResourceFileWriter(true, "traject_10-1.shp", "traject_10-1.dbf", "traject_10-1.prj", "traject_10-1.shx"))
{
var importer = new ReferenceLineImporter();
- importer.Import(new ReferenceLineContext(demoAssessmentSection), Path.Combine(temporaryShapeFile.TargetFolderPath, "traject_10-1.shp"));
+ importer.Import(new ReferenceLineContext(demoAssessmentSection), Path.Combine(embeddedResourceFileWriter.TargetFolderPath, "traject_10-1.shp"));
}
}
private void InitializeDemoHydraulicBoundaryDatabase(DikeAssessmentSection demoAssessmentSection)
{
- using (var tempPath = new TemporaryImportFile("HRD_dutchcoastsouth.sqlite", "HLCD.sqlite"))
+ using (var embeddedResourceFileWriter = new EmbeddedResourceFileWriter(false, "HRD_dutchcoastsouth.sqlite", "HLCD.sqlite"))
{
using (var hydraulicBoundaryDatabaseImporter = new HydraulicBoundaryDatabaseImporter())
{
- hydraulicBoundaryDatabaseImporter.ValidateAndConnectTo(Path.Combine(tempPath.TargetFolderPath, "HRD_dutchcoastsouth.sqlite"));
+ hydraulicBoundaryDatabaseImporter.ValidateAndConnectTo(Path.Combine(embeddedResourceFileWriter.TargetFolderPath, "HRD_dutchcoastsouth.sqlite"));
hydraulicBoundaryDatabaseImporter.Import(new HydraulicBoundaryDatabaseContext(demoAssessmentSection));
}
}
}
private void InitializeDemoFailureMechanismSections(DikeAssessmentSection demoAssessmentSection)
{
- using (var temporaryShapeFile = new TemporaryImportFile("traject_10-1_vakken.shp",
- "traject_10-1_vakken.dbf", "traject_10-1_vakken.prj", "traject_10-1_vakken.shx"))
+ using (var embeddedResourceFileWriter = new EmbeddedResourceFileWriter(true, "traject_10-1_vakken.shp", "traject_10-1_vakken.dbf", "traject_10-1_vakken.prj", "traject_10-1_vakken.shx"))
{
var importer = new FailureMechanismSectionsImporter();
foreach (var failureMechanism in demoAssessmentSection.GetFailureMechanisms())
{
var context = new FailureMechanismSectionsContext(failureMechanism, demoAssessmentSection);
- importer.Import(context, Path.Combine(temporaryShapeFile.TargetFolderPath, "traject_10-1_vakken.shp"));
+ importer.Import(context, Path.Combine(embeddedResourceFileWriter.TargetFolderPath, "traject_10-1_vakken.shp"));
}
}
}
@@ -102,16 +100,16 @@
{
var pipingFailureMechanism = demoAssessmentSection.PipingFailureMechanism;
- using (var tempPath = new TemporaryImportFile("DR6_surfacelines.csv", "DR6_surfacelines.krp.csv"))
+ using (var embeddedResourceFileWriter = new EmbeddedResourceFileWriter(true, "DR6_surfacelines.csv", "DR6_surfacelines.krp.csv"))
{
var surfaceLinesImporter = new PipingSurfaceLinesCsvImporter();
- surfaceLinesImporter.Import(pipingFailureMechanism.SurfaceLines, Path.Combine(tempPath.TargetFolderPath, "DR6_surfacelines.csv"));
+ surfaceLinesImporter.Import(pipingFailureMechanism.SurfaceLines, Path.Combine(embeddedResourceFileWriter.TargetFolderPath, "DR6_surfacelines.csv"));
}
- using (var tempPath = new TemporaryImportFile("DR6.soil"))
+ using (var embeddedResourceFileWriter = new EmbeddedResourceFileWriter(true, "DR6.soil"))
{
var surfaceLinesImporter = new PipingSoilProfilesImporter();
- surfaceLinesImporter.Import(pipingFailureMechanism.SoilProfiles, Path.Combine(tempPath.TargetFolderPath, "DR6.soil"));
+ surfaceLinesImporter.Import(pipingFailureMechanism.SoilProfiles, Path.Combine(embeddedResourceFileWriter.TargetFolderPath, "DR6.soil"));
}
var calculation = pipingFailureMechanism.CalculationsGroup.GetPipingCalculations().First();
Index: Demo/Ringtoets/src/Demo.Ringtoets/Commands/AddNewDemoDuneAssessmentSectionCommand.cs
===================================================================
diff -u -rad69743281f3934fee4089cb577e078bcb92b736 -r376d4148dc5ffa208c84e70475090e713f2f13c0
--- Demo/Ringtoets/src/Demo.Ringtoets/Commands/AddNewDemoDuneAssessmentSectionCommand.cs (.../AddNewDemoDuneAssessmentSectionCommand.cs) (revision ad69743281f3934fee4089cb577e078bcb92b736)
+++ Demo/Ringtoets/src/Demo.Ringtoets/Commands/AddNewDemoDuneAssessmentSectionCommand.cs (.../AddNewDemoDuneAssessmentSectionCommand.cs) (revision 376d4148dc5ffa208c84e70475090e713f2f13c0)
@@ -58,36 +58,34 @@
private void InitializeDemoReferenceLine(DuneAssessmentSection demoAssessmentSection)
{
- using (var temporaryShapeFile = new TemporaryImportFile("traject_10-1.shp",
- "traject_10-1.dbf", "traject_10-1.prj", "traject_10-1.shx"))
+ using (var embeddedResourceFileWriter = new EmbeddedResourceFileWriter(true, "traject_10-1.shp", "traject_10-1.dbf", "traject_10-1.prj", "traject_10-1.shx"))
{
var importer = new ReferenceLineImporter();
- importer.Import(new ReferenceLineContext(demoAssessmentSection), Path.Combine(temporaryShapeFile.TargetFolderPath, "traject_10-1.shp"));
+ importer.Import(new ReferenceLineContext(demoAssessmentSection), Path.Combine(embeddedResourceFileWriter.TargetFolderPath, "traject_10-1.shp"));
}
}
private void InitializeDemoHydraulicBoundaryDatabase(DuneAssessmentSection demoAssessmentSection)
{
- using (var tempPath = new TemporaryImportFile("HRD_dutchcoastsouth.sqlite", "HLCD.sqlite"))
+ using (var embeddedResourceFileWriter = new EmbeddedResourceFileWriter(false, "HRD_dutchcoastsouth.sqlite", "HLCD.sqlite"))
{
using (var hydraulicBoundaryDatabaseImporter = new HydraulicBoundaryDatabaseImporter())
{
- hydraulicBoundaryDatabaseImporter.ValidateAndConnectTo(Path.Combine(tempPath.TargetFolderPath, "HRD_dutchcoastsouth.sqlite"));
+ hydraulicBoundaryDatabaseImporter.ValidateAndConnectTo(Path.Combine(embeddedResourceFileWriter.TargetFolderPath, "HRD_dutchcoastsouth.sqlite"));
hydraulicBoundaryDatabaseImporter.Import(new HydraulicBoundaryDatabaseContext(demoAssessmentSection));
}
}
}
private void InitializeDemoFailureMechanismSections(DuneAssessmentSection demoAssessmentSection)
{
- using (var temporaryShapeFile = new TemporaryImportFile("traject_10-1_vakken.shp",
- "traject_10-1_vakken.dbf", "traject_10-1_vakken.prj", "traject_10-1_vakken.shx"))
+ using (var embeddedResourceFileWriter = new EmbeddedResourceFileWriter(true, "traject_10-1_vakken.shp", "traject_10-1_vakken.dbf", "traject_10-1_vakken.prj", "traject_10-1_vakken.shx"))
{
var importer = new FailureMechanismSectionsImporter();
foreach (IFailureMechanism failureMechanism in demoAssessmentSection.GetFailureMechanisms())
{
var context = new FailureMechanismSectionsContext(failureMechanism, demoAssessmentSection);
- importer.Import(context, Path.Combine(temporaryShapeFile.TargetFolderPath, "traject_10-1_vakken.shp"));
+ importer.Import(context, Path.Combine(embeddedResourceFileWriter.TargetFolderPath, "traject_10-1_vakken.shp"));
}
}
}
Index: Demo/Ringtoets/src/Demo.Ringtoets/Demo.Ringtoets.csproj
===================================================================
diff -u -ra8d92ed8a79b45075e5e3a388da73d0ea40a25e3 -r376d4148dc5ffa208c84e70475090e713f2f13c0
--- Demo/Ringtoets/src/Demo.Ringtoets/Demo.Ringtoets.csproj (.../Demo.Ringtoets.csproj) (revision a8d92ed8a79b45075e5e3a388da73d0ea40a25e3)
+++ Demo/Ringtoets/src/Demo.Ringtoets/Demo.Ringtoets.csproj (.../Demo.Ringtoets.csproj) (revision 376d4148dc5ffa208c84e70475090e713f2f13c0)
@@ -64,7 +64,7 @@
RingtoetsDemoProjectRibbon.xaml
-
+
Index: Demo/Ringtoets/src/Demo.Ringtoets/EmbeddedResourceFileWriter.cs
===================================================================
diff -u
--- Demo/Ringtoets/src/Demo.Ringtoets/EmbeddedResourceFileWriter.cs (revision 0)
+++ Demo/Ringtoets/src/Demo.Ringtoets/EmbeddedResourceFileWriter.cs (revision 376d4148dc5ffa208c84e70475090e713f2f13c0)
@@ -0,0 +1,77 @@
+using System;
+using System.IO;
+using Core.Common.Utils.Reflection;
+
+namespace Demo.Ringtoets
+{
+ ///
+ /// Class for writing Embedded Resources to the Windows Temp directory.
+ ///
+ internal class EmbeddedResourceFileWriter : IDisposable
+ {
+ private readonly bool removeFilesOnDispose;
+ private readonly string targetFolderPath;
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// Whether or not the files should be removed after disposing the created instance.
+ /// The names of the Embedded Resource files to (temporary) write to the Windows Temp directory.
+ public EmbeddedResourceFileWriter(bool removeFilesOnDispose, params string[] embeddedResourceFileNames)
+ {
+ this.removeFilesOnDispose = removeFilesOnDispose;
+
+ targetFolderPath = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());
+
+ Directory.CreateDirectory(targetFolderPath);
+
+ foreach (string embeddedResourceFileName in embeddedResourceFileNames)
+ {
+ WriteEmbeddedResourceToTemporaryFile(embeddedResourceFileName, Path.Combine(targetFolderPath, embeddedResourceFileName));
+ }
+ }
+
+ ///
+ /// Gets the target folder path.
+ ///
+ public string TargetFolderPath
+ {
+ get
+ {
+ return targetFolderPath;
+ }
+ }
+
+ ///
+ /// Disposes the instance.
+ ///
+ public void Dispose()
+ {
+ if (removeFilesOnDispose)
+ {
+ Directory.Delete(targetFolderPath, true);
+ }
+ }
+
+ private void WriteEmbeddedResourceToTemporaryFile(string embeddedResourceFileName, string filePath)
+ {
+ var stream = GetStreamToFileInResource(embeddedResourceFileName);
+ var bytes = GetBinaryDataOfStream(stream);
+
+ File.WriteAllBytes(filePath, bytes);
+ }
+
+ private Stream GetStreamToFileInResource(string embeddedResourceFileName)
+ {
+ return AssemblyUtils.GetAssemblyResourceStream(GetType().Assembly, embeddedResourceFileName);
+ }
+
+ private static byte[] GetBinaryDataOfStream(Stream stream)
+ {
+ var bytes = new byte[stream.Length];
+ var reader = new BinaryReader(stream);
+ reader.Read(bytes, 0, (int) stream.Length);
+ return bytes;
+ }
+ }
+}
\ No newline at end of file
Fisheye: Tag 376d4148dc5ffa208c84e70475090e713f2f13c0 refers to a dead (removed) revision in file `Demo/Ringtoets/src/Demo.Ringtoets/TemporaryImportFile.cs'.
Fisheye: No comparison available. Pass `N' to diff?