Index: Ringtoets/Common/src/Ringtoets.Common.IO/ReferenceLineExporter.cs
===================================================================
diff -u -r437beb696991b6fbcdc58456f9d0c9361479a603 -r4851d9c2b000de0707f6cce0872979ecc1e3dead
--- Ringtoets/Common/src/Ringtoets.Common.IO/ReferenceLineExporter.cs (.../ReferenceLineExporter.cs) (revision 437beb696991b6fbcdc58456f9d0c9361479a603)
+++ Ringtoets/Common/src/Ringtoets.Common.IO/ReferenceLineExporter.cs (.../ReferenceLineExporter.cs) (revision 4851d9c2b000de0707f6cce0872979ecc1e3dead)
@@ -19,9 +19,13 @@
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
+using System;
using Core.Common.Base.IO;
+using Core.Common.IO.Exceptions;
+using Core.Common.Utils;
using log4net;
using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.IO.Properties;
namespace Ringtoets.Common.IO
{
@@ -34,20 +38,38 @@
private readonly ReferenceLine referenceLine;
private readonly string filePath;
+ private readonly string id;
///
/// Creates a new instance of .
///
/// The reference line to export.
/// The path of the file to export to.
- public ReferenceLineExporter(ReferenceLine referenceLine, string filePath)
+ /// The assessment section id.
+ /// Thrown when is invalid.
+ public ReferenceLineExporter(ReferenceLine referenceLine, string filePath, string id)
{
+ FileUtils.ValidateFilePath(filePath);
+
this.referenceLine = referenceLine;
this.filePath = filePath;
+ this.id = id;
}
public bool Export()
{
+ var referenceLineWriter = new ReferenceLineWriter();
+
+ try
+ {
+ referenceLineWriter.WriteReferenceLine(referenceLine, filePath, id);
+ }
+ catch (CriticalFileWriteException e)
+ {
+ log.Error(string.Format(Resources.ReferenceLineExporter_Error_0_no_referenceline_exported, e.Message));
+ return false;
+ }
+
return true;
}
}