Index: Demo/Ringtoets/src/Demo.Ringtoets/Commands/AddNewDemoDikeAssessmentSectionCommand.cs =================================================================== diff -u -r9d1ffc9bd1a9c392c6b832422649a0ad2f5ff59c -rad2d65c5904706727b1e19341a8b1162645c845a --- Demo/Ringtoets/src/Demo.Ringtoets/Commands/AddNewDemoDikeAssessmentSectionCommand.cs (.../AddNewDemoDikeAssessmentSectionCommand.cs) (revision 9d1ffc9bd1a9c392c6b832422649a0ad2f5ff59c) +++ Demo/Ringtoets/src/Demo.Ringtoets/Commands/AddNewDemoDikeAssessmentSectionCommand.cs (.../AddNewDemoDikeAssessmentSectionCommand.cs) (revision ad2d65c5904706727b1e19341a8b1162645c845a) @@ -1,11 +1,11 @@ -using System; -using System.IO; -using System.Linq; +using System.Linq; using Core.Common.Controls.Commands; using Core.Common.Gui; -using Core.Common.Utils.Reflection; + using Ringtoets.HydraRing.Plugin; using Ringtoets.Integration.Data; +using Ringtoets.Integration.Forms.PresentationObjects; +using Ringtoets.Integration.Plugin.FileImporters; using Ringtoets.Piping.Data; using Ringtoets.Piping.Plugin.FileImporter; @@ -52,11 +52,22 @@ { Name = "Demo dijktraject" }; + InitializeDemoReferenceLine(demoAssessmentSection); InitializeDemoHydraulicBoundaryDatabase(demoAssessmentSection); InitializeDemoPipingData(demoAssessmentSection); return demoAssessmentSection; } + 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")) + { + var importer = new ReferenceLineImporter(); + importer.Import(new ReferenceLineContext(demoAssessmentSection), temporaryShapeFile.FilePath); + } + } + private void InitializeDemoHydraulicBoundaryDatabase(DikeAssessmentSection demoAssessmentSection) { var hydraulicBoundaryDatabase = demoAssessmentSection.HydraulicBoundaryDatabase; @@ -91,71 +102,5 @@ calculation.InputParameters.SurfaceLine = pipingFailureMechanism.SurfaceLines.First(sl => sl.Name == "PK001_0001"); calculation.InputParameters.SoilProfile = pipingFailureMechanism.SoilProfiles.First(sl => sl.Name == "AD640M00_Segment_36005_1D2"); } - - /// - /// Class for creating a temporary file in the windows Temp directory based on a - /// file stored in Embedded Resources. - /// - private class TemporaryImportFile : IDisposable - { - private readonly string tempTargetFolderPath; - private readonly string fullFilePath; - - /// - /// Initializes a new instance of the class. - /// - /// Name of the file with build action 'Embedded Resource' within this project. - /// Names of extra files required for importing the . - public TemporaryImportFile(string embeddedResourceFileName, params string[] supportFiles) - { - tempTargetFolderPath = Path.Combine(Path.GetTempPath(), "demo_traject"); - Directory.CreateDirectory(tempTargetFolderPath); - - fullFilePath = Path.Combine(tempTargetFolderPath, embeddedResourceFileName); - - WriteEmbeddedResourceToTemporaryFile(embeddedResourceFileName, fullFilePath); - - foreach (string supportFile in supportFiles) - { - var filePath = Path.Combine(tempTargetFolderPath, supportFile); - WriteEmbeddedResourceToTemporaryFile(supportFile, filePath); - } - } - - private void WriteEmbeddedResourceToTemporaryFile(string embeddedResourceFileName, string filePath) - { - var stream = GetStreamToFileInResource(embeddedResourceFileName); - - var bytes = GetBinaryDataOfStream(stream); - - File.WriteAllBytes(filePath, bytes); - } - - public string FilePath - { - get - { - return fullFilePath; - } - } - - public void Dispose() - { - Directory.Delete(tempTargetFolderPath, true); - } - - 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 Index: Demo/Ringtoets/src/Demo.Ringtoets/Commands/AddNewDemoDuneAssessmentSectionCommand.cs =================================================================== diff -u -rf9058d5293ecb785069c5b6b4c554dc6800ee771 -rad2d65c5904706727b1e19341a8b1162645c845a --- Demo/Ringtoets/src/Demo.Ringtoets/Commands/AddNewDemoDuneAssessmentSectionCommand.cs (.../AddNewDemoDuneAssessmentSectionCommand.cs) (revision f9058d5293ecb785069c5b6b4c554dc6800ee771) +++ Demo/Ringtoets/src/Demo.Ringtoets/Commands/AddNewDemoDuneAssessmentSectionCommand.cs (.../AddNewDemoDuneAssessmentSectionCommand.cs) (revision ad2d65c5904706727b1e19341a8b1162645c845a) @@ -1,6 +1,8 @@ using Core.Common.Controls.Commands; using Core.Common.Gui; using Ringtoets.Integration.Data; +using Ringtoets.Integration.Forms.PresentationObjects; +using Ringtoets.Integration.Plugin.FileImporters; namespace Demo.Ringtoets.Commands { @@ -45,7 +47,19 @@ { Name = "Demo duintraject" }; + InitializeDemoReferenceLine(demoAssessmentSection); + return demoAssessmentSection; } + + 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")) + { + var importer = new ReferenceLineImporter(); + importer.Import(new ReferenceLineContext(demoAssessmentSection), temporaryShapeFile.FilePath); + } + } } } \ No newline at end of file Index: Demo/Ringtoets/src/Demo.Ringtoets/Demo.Ringtoets.csproj =================================================================== diff -u -r9d1ffc9bd1a9c392c6b832422649a0ad2f5ff59c -rad2d65c5904706727b1e19341a8b1162645c845a --- Demo/Ringtoets/src/Demo.Ringtoets/Demo.Ringtoets.csproj (.../Demo.Ringtoets.csproj) (revision 9d1ffc9bd1a9c392c6b832422649a0ad2f5ff59c) +++ Demo/Ringtoets/src/Demo.Ringtoets/Demo.Ringtoets.csproj (.../Demo.Ringtoets.csproj) (revision ad2d65c5904706727b1e19341a8b1162645c845a) @@ -64,6 +64,7 @@ RingtoetsDemoProjectRibbon.xaml + @@ -118,6 +119,14 @@ Ringtoets.Integration.Data False + + {ad0cdc89-0a00-4068-aeec-9838863c2fe8} + Ringtoets.Integration.Forms + + + {c8383b76-b3f1-4e6e-b56c-527b469fa20a} + Ringtoets.Integration.Plugin + {ce994cc9-6f6a-48ac-b4be-02c30a21f4db} Ringtoets.Piping.Data @@ -133,6 +142,10 @@ + + + + Index: Demo/Ringtoets/src/Demo.Ringtoets/Resources/traject_10-1.dbf =================================================================== diff -u Binary files differ Index: Demo/Ringtoets/src/Demo.Ringtoets/Resources/traject_10-1.prj =================================================================== diff -u --- Demo/Ringtoets/src/Demo.Ringtoets/Resources/traject_10-1.prj (revision 0) +++ Demo/Ringtoets/src/Demo.Ringtoets/Resources/traject_10-1.prj (revision ad2d65c5904706727b1e19341a8b1162645c845a) @@ -0,0 +1 @@ +PROJCS["RD_New",GEOGCS["GCS_Amersfoort",DATUM["D_Amersfoort",SPHEROID["Bessel_1841",6377397.155,299.1528128]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Double_Stereographic"],PARAMETER["False_Easting",155000.0],PARAMETER["False_Northing",463000.0],PARAMETER["Central_Meridian",5.38763888888889],PARAMETER["Scale_Factor",0.9999079],PARAMETER["Latitude_Of_Origin",52.15616055555555],UNIT["Meter",1.0]] \ No newline at end of file Index: Demo/Ringtoets/src/Demo.Ringtoets/Resources/traject_10-1.shp =================================================================== diff -u Binary files differ Index: Demo/Ringtoets/src/Demo.Ringtoets/Resources/traject_10-1.shx =================================================================== diff -u Binary files differ Index: Demo/Ringtoets/src/Demo.Ringtoets/TemporaryImportFile.cs =================================================================== diff -u --- Demo/Ringtoets/src/Demo.Ringtoets/TemporaryImportFile.cs (revision 0) +++ Demo/Ringtoets/src/Demo.Ringtoets/TemporaryImportFile.cs (revision ad2d65c5904706727b1e19341a8b1162645c845a) @@ -0,0 +1,73 @@ +using System; +using System.IO; + +using Core.Common.Utils.Reflection; + +namespace Demo.Ringtoets +{ + /// + /// Class for creating a temporary file in the windows Temp directory based on a file + /// stored in Embedded Resources. + /// + internal class TemporaryImportFile : IDisposable + { + private readonly string tempTargetFolderPath; + private readonly string fullFilePath; + + /// + /// Initializes a new instance of the class. + /// + /// Name of the file with build action 'Embedded Resource' within this project. + /// Names of extra files required for importing the . + public TemporaryImportFile(string embeddedResourceFileName, params string[] supportFiles) + { + tempTargetFolderPath = Path.Combine(Path.GetTempPath(), "demo_traject"); + Directory.CreateDirectory(tempTargetFolderPath); + + fullFilePath = Path.Combine(tempTargetFolderPath, embeddedResourceFileName); + + WriteEmbeddedResourceToTemporaryFile(embeddedResourceFileName, fullFilePath); + + foreach (string supportFile in supportFiles) + { + var filePath = Path.Combine(tempTargetFolderPath, supportFile); + WriteEmbeddedResourceToTemporaryFile(supportFile, filePath); + } + } + + private void WriteEmbeddedResourceToTemporaryFile(string embeddedResourceFileName, string filePath) + { + var stream = GetStreamToFileInResource(embeddedResourceFileName); + + var bytes = GetBinaryDataOfStream(stream); + + File.WriteAllBytes(filePath, bytes); + } + + public string FilePath + { + get + { + return fullFilePath; + } + } + + public void Dispose() + { + Directory.Delete(tempTargetFolderPath, true); + } + + 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 Index: Demo/Ringtoets/test/Demo.Ringtoets.Test/Commands/AddNewDemoDikeAssessmentSectionCommandTest.cs =================================================================== diff -u -r98fc85d8cecf9edae9fe7c1f2f47b60ecda5e187 -rad2d65c5904706727b1e19341a8b1162645c845a --- Demo/Ringtoets/test/Demo.Ringtoets.Test/Commands/AddNewDemoDikeAssessmentSectionCommandTest.cs (.../AddNewDemoDikeAssessmentSectionCommandTest.cs) (revision 98fc85d8cecf9edae9fe7c1f2f47b60ecda5e187) +++ Demo/Ringtoets/test/Demo.Ringtoets.Test/Commands/AddNewDemoDikeAssessmentSectionCommandTest.cs (.../AddNewDemoDikeAssessmentSectionCommandTest.cs) (revision ad2d65c5904706727b1e19341a8b1162645c845a) @@ -65,6 +65,8 @@ var hydraulicBoundaryLocations = demoAssessmentSection.HydraulicBoundaryDatabase.Locations.ToArray(); Assert.AreEqual(18, hydraulicBoundaryLocations.Length); + Assert.AreEqual(1669, demoAssessmentSection.ReferenceLine.Points.Count()); + var profiles = demoAssessmentSection.PipingFailureMechanism.SoilProfiles.ToArray(); Assert.AreEqual(26, profiles.Length); var surfaceLines = demoAssessmentSection.PipingFailureMechanism.SurfaceLines.ToArray(); Index: Demo/Ringtoets/test/Demo.Ringtoets.Test/Commands/AddNewDemoDuneAssessmentSectionCommandTest.cs =================================================================== diff -u -rf9058d5293ecb785069c5b6b4c554dc6800ee771 -rad2d65c5904706727b1e19341a8b1162645c845a --- Demo/Ringtoets/test/Demo.Ringtoets.Test/Commands/AddNewDemoDuneAssessmentSectionCommandTest.cs (.../AddNewDemoDuneAssessmentSectionCommandTest.cs) (revision f9058d5293ecb785069c5b6b4c554dc6800ee771) +++ Demo/Ringtoets/test/Demo.Ringtoets.Test/Commands/AddNewDemoDuneAssessmentSectionCommandTest.cs (.../AddNewDemoDuneAssessmentSectionCommandTest.cs) (revision ad2d65c5904706727b1e19341a8b1162645c845a) @@ -1,4 +1,6 @@ -using Core.Common.Base; +using System.Linq; + +using Core.Common.Base; using Core.Common.Base.Data; using Core.Common.Controls.Commands; using Core.Common.Gui; @@ -56,6 +58,8 @@ Assert.AreEqual(1, project.Items.Count); var demoAssessmentSection = (DuneAssessmentSection) project.Items[0]; Assert.AreEqual("Demo duintraject", demoAssessmentSection.Name); + + Assert.AreEqual(1669, demoAssessmentSection.ReferenceLine.Points.Count()); mocks.VerifyAll(); } }