Index: dam clients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs =================================================================== diff -u -r724 -r726 --- dam clients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs (.../FillXmlInputFromDamUiTests.cs) (revision 724) +++ dam clients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs (.../FillXmlInputFromDamUiTests.cs) (revision 726) @@ -29,7 +29,6 @@ using Deltares.Geotechnics.Soils; using Deltares.Geotechnics.SurfaceLines; using Deltares.Standard.EventPublisher; -using Deltares.Standard.Logging; using KellermanSoftware.CompareNetObjects; using NUnit.Framework; using Location = Deltares.Dam.Data.Location; @@ -99,10 +98,6 @@ { locationJob.Run = true; } - damProjectData.CalculationMessages = new List(); - damProjectData.CalculationMessages.Add(new LogMessage(LogMessageType.Error, null, "Error 1")); - damProjectData.CalculationMessages.Add(new LogMessage(LogMessageType.Error, null, "Error 2")); - damProjectData.CalculationMessages.Add(new LogMessage(LogMessageType.Warning, null, "Warning 1")); return damProjectData; } Index: dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlOutput.cs =================================================================== diff -u -r724 -r726 --- dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlOutput.cs (.../FillDamUiFromXmlOutput.cs) (revision 724) +++ dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlOutput.cs (.../FillDamUiFromXmlOutput.cs) (revision 726) @@ -26,6 +26,7 @@ using Deltares.Geotechnics.GeotechnicalGeometry; using Deltares.Geotechnics.SurfaceLines; using Deltares.Standard.EventPublisher; +using LogMessageType = Deltares.Standard.Logging.LogMessageType; using SurfaceLine = Deltares.DamEngine.Io.XmlOutput.SurfaceLine; namespace Deltares.Dam.Data.DamEngineIo @@ -53,6 +54,21 @@ } ); } + + // Transfer calculation messages + if (output != null && output.Results != null && output.Results.CalculationMessages != null) + { + damProjectData.CalculationMessages = new List(); + for (int i = 0; i < output.Results.CalculationMessages.Length; i++) + { + var validationResult = output.Results.CalculationMessages[i]; + var logMessage = new Deltares.Standard.Logging.LogMessage(); + logMessage.MessageType = ConversionHelper.ConvertToMessageType(validationResult.MessageType); + logMessage.Subject = null; + logMessage.Message = validationResult.Message1; + damProjectData.CalculationMessages.Add(logMessage); + } + } return damProjectData; } @@ -90,21 +106,6 @@ desResult.Scenario.CalculationResults.Add(desResult); damProjectData.DesignCalculations.Add(desResult); } - - if (output.Results.CalculationMessages != null) - { - damProjectData.CalculationMessages = new List(); - for (int i = 0; i < output.Results.CalculationMessages.Length; i++) - { - var validationResult = output.Results.CalculationMessages[i]; - var logMessage = new Deltares.Standard.Logging.LogMessage(); - logMessage.MessageType = ConversionHelper.ConvertToMessageType(validationResult.MessageType); - logMessage.Subject = null; - logMessage.Message = validationResult.Message1; - damProjectData.CalculationMessages.Add(logMessage); - } - } - } } Index: dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillXmlOutputFromDamUi.cs =================================================================== diff -u -r531 -r726 --- dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillXmlOutputFromDamUi.cs (.../FillXmlOutputFromDamUi.cs) (revision 531) +++ dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillXmlOutputFromDamUi.cs (.../FillXmlOutputFromDamUi.cs) (revision 726) @@ -19,9 +19,43 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System.Collections.Generic; +using Deltares.DamEngine.Data.Standard.Logging; +using Deltares.DamEngine.Io.XmlOutput; + namespace Deltares.Dam.Data.DamEngineIo { + /// + /// + /// public class FillXmlOutputFromDamUi { + /// + /// Class to fill the output xml based on the results in DamProjectData + /// + public static Output CreateOutput(DamProjectData damProjectData) + { + var output = new Output(); + output.Results = new OutputResults(); + output.Results.CalculationMessages = new Message[damProjectData.CalculationMessages.Count]; + TransferOutputCalculationMessages(damProjectData.CalculationMessages, output.Results); + return output; + } + + private static void TransferOutputCalculationMessages(List calculationMessages, OutputResults outputResults) + { + //var calculationMessages = damProjectData.CalculationMessages; + if (calculationMessages != null) + { + outputResults.CalculationMessages = new Message[calculationMessages.Count]; + for (int i = 0; i < calculationMessages.Count; i++) + { + var message = new Message(); + message.MessageType = ConversionHelper.ConvertToInputMessageType(calculationMessages[i].MessageType); + message.Message1 = calculationMessages[i].Message; + outputResults.CalculationMessages[i] = message; + } + } + } } } Index: dam clients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillDamUiFromXmlOutputTests.cs =================================================================== diff -u -r645 -r726 --- dam clients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillDamUiFromXmlOutputTests.cs (.../FillDamUiFromXmlOutputTests.cs) (revision 645) +++ dam clients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillDamUiFromXmlOutputTests.cs (.../FillDamUiFromXmlOutputTests.cs) (revision 726) @@ -24,6 +24,7 @@ using Deltares.Dam.Data.DamEngineIo; using Deltares.DamEngine.Io; using Deltares.DamEngine.Io.XmlOutput; +using Deltares.Standard.Logging; using KellermanSoftware.CompareNetObjects; using NUnit.Framework; @@ -33,6 +34,29 @@ public class FillDamUiFromXmlOutputTests { [Test] + public void CanWriteAndReadOutputCalculationMessagesToXmlString() + { + var expectedDamProjectData = CreateDamProjectDataWithCalculationMessages(); + var output = FillXmlOutputFromDamUi.CreateOutput(expectedDamProjectData); + var outputString = DamXmlSerialization.SaveOutputAsXmlString(output); + + output = DamXmlSerialization.LoadOutputFromXmlString(outputString); + var actualDamProjectData = new DamProjectData(); + actualDamProjectData = FillDamUiFromXmlOutput.AddOutputToDamProjectData(actualDamProjectData, output); + CompareDamProjectData(actualDamProjectData, expectedDamProjectData); + + } + + private static DamProjectData CreateDamProjectDataWithCalculationMessages() + { + DamProjectData damProjectData = new DamProjectData(); + damProjectData.CalculationMessages = new List(); + damProjectData.CalculationMessages.Add(new LogMessage(LogMessageType.Error, null, "Error 1")); + damProjectData.CalculationMessages.Add(new LogMessage(LogMessageType.Error, null, "Error 2")); + damProjectData.CalculationMessages.Add(new LogMessage(LogMessageType.Warning, null, "Warning 1")); + return damProjectData; + } + [Test] public void SimpleTest() { var damProjectData = CreateInputProjectData(); @@ -178,5 +202,6 @@ var result = compare.Compare(expected, actual); Assert.AreEqual(0, result.Differences.Count, "Differences found read/write Input object"); } + } } Index: dam clients/DamUI/trunk/src/Dam/Data/DamProjectData.cs =================================================================== diff -u -r724 -r726 --- dam clients/DamUI/trunk/src/Dam/Data/DamProjectData.cs (.../DamProjectData.cs) (revision 724) +++ dam clients/DamUI/trunk/src/Dam/Data/DamProjectData.cs (.../DamProjectData.cs) (revision 726) @@ -33,6 +33,7 @@ using Deltares.Standard.Logging; using Deltares.Standard.Project; using Deltares.Standard.Validation; +using LogMessage = Deltares.DamEngine.Data.Standard.Logging.LogMessage; namespace Deltares.Dam.Data { @@ -268,7 +269,7 @@ } [XmlIgnore] - public List CalculationMessages { get; set; } + public List CalculationMessages { get; set; } [XmlIgnore] [ReadOnly(true)]