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; } }