Index: dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/ConversionHelper.cs =================================================================== diff -u -r714 -r724 --- dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/ConversionHelper.cs (.../ConversionHelper.cs) (revision 714) +++ dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/ConversionHelper.cs (.../ConversionHelper.cs) (revision 724) @@ -21,8 +21,10 @@ using System.Collections.Generic; using Deltares.DamEngine.Io.XmlInput; +using Deltares.DamEngine.Io.XmlOutput; using Deltares.Geotechnics.Soils; using Deltares.Standard; +using Deltares.Standard.Logging; using CharacteristicPointType = Deltares.Geotechnics.SurfaceLines.CharacteristicPointType; namespace Deltares.Dam.Data.DamEngineIo @@ -497,5 +499,39 @@ }; return translationTable[inputZoneType]; } + /// + /// Converts the Dam message type to the input message type. + /// + /// Type of the message. + /// + public static MessageMessageType ConvertToInputMessageType(LogMessageType messageType) + { + var translationTable = new Dictionary() + { + {LogMessageType.Warning, MessageMessageType.Warning}, + {LogMessageType.Debug, MessageMessageType.Info}, + {LogMessageType.Error, MessageMessageType.Error}, + {LogMessageType.FatalError, MessageMessageType.Error}, + {LogMessageType.Info, MessageMessageType.Info}, + {LogMessageType.Trace, MessageMessageType.Info} + }; + return translationTable[messageType]; + } + + /// + /// Converts the input message type to the Dam message type. + /// + /// Type of the validation result message. + /// + public static LogMessageType ConvertToMessageType(MessageMessageType validationResultMessageType) + { + var translationTable = new Dictionary() + { + {MessageMessageType.Warning, LogMessageType.Warning}, + {MessageMessageType.Error, LogMessageType.Error}, + {MessageMessageType.Info, LogMessageType.Info} + }; + return translationTable[validationResultMessageType]; + } } } Index: dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlOutput.cs =================================================================== diff -u -r714 -r724 --- dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlOutput.cs (.../FillDamUiFromXmlOutput.cs) (revision 714) +++ dam clients/DamUI/trunk/src/Dam/Data/DamEngineIo/FillDamUiFromXmlOutput.cs (.../FillDamUiFromXmlOutput.cs) (revision 724) @@ -20,6 +20,7 @@ // All rights reserved. using System.Collections.Generic; +using Deltares.DamEngine.Data.Standard.Logging; using Deltares.DamEngine.Io.XmlOutput; using Deltares.Geometry; using Deltares.Geotechnics.GeotechnicalGeometry; @@ -59,8 +60,8 @@ { if (damProjectData.WaterBoard.Dikes[0] != null) { - // Design results - damProjectData.DesignCalculations = new List(); + // Design results + damProjectData.DesignCalculations = new List(); for (int i = 0; i < output.Results.CalculationResults.DesignResults.Length; i++) { var designResult = output.Results.CalculationResults.DesignResults[i]; @@ -89,6 +90,21 @@ 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/DamProjectData.cs =================================================================== diff -u -r593 -r724 --- dam clients/DamUI/trunk/src/Dam/Data/DamProjectData.cs (.../DamProjectData.cs) (revision 593) +++ dam clients/DamUI/trunk/src/Dam/Data/DamProjectData.cs (.../DamProjectData.cs) (revision 724) @@ -268,6 +268,9 @@ } [XmlIgnore] + public List CalculationMessages { get; set; } + + [XmlIgnore] [ReadOnly(true)] public List DesignCalculations { Index: dam clients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs =================================================================== diff -u -r714 -r724 --- dam clients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs (.../FillXmlInputFromDamUiTests.cs) (revision 714) +++ dam clients/DamUI/trunk/src/Dam/Tests/DamEngineIo/FillXmlInputFromDamUiTests.cs (.../FillXmlInputFromDamUiTests.cs) (revision 724) @@ -29,6 +29,7 @@ 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; @@ -98,6 +99,10 @@ { 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/Tests/DamEngineIo/ConversionHelperTests.cs =================================================================== diff -u -r714 -r724 --- dam clients/DamUI/trunk/src/Dam/Tests/DamEngineIo/ConversionHelperTests.cs (.../ConversionHelperTests.cs) (revision 714) +++ dam clients/DamUI/trunk/src/Dam/Tests/DamEngineIo/ConversionHelperTests.cs (.../ConversionHelperTests.cs) (revision 724) @@ -22,9 +22,11 @@ using Deltares.Dam.Data; using Deltares.Dam.Data.DamEngineIo; using Deltares.DamEngine.Io.XmlInput; +using Deltares.DamEngine.Io.XmlOutput; using Deltares.Geotechnics.Soils; using Deltares.Geotechnics.SurfaceLines; using Deltares.Standard; +using Deltares.Standard.Logging; using NUnit.Framework; namespace Deltares.Dam.Tests.DamEngineIo @@ -250,5 +252,25 @@ { Assert.AreEqual(zoneType, ConversionHelper.ConvertToZoneType(inputZoneType)); } + [Test] + [TestCase(LogMessageType.Error, MessageMessageType.Error)] + [TestCase(LogMessageType.Debug, MessageMessageType.Info)] + [TestCase(LogMessageType.FatalError, MessageMessageType.Error)] + [TestCase(LogMessageType.Info, MessageMessageType.Info)] + [TestCase(LogMessageType.Trace, MessageMessageType.Info)] + [TestCase(LogMessageType.Warning, MessageMessageType.Warning)] + public void CanConvertToInputMessageType(LogMessageType logMessageType, MessageMessageType messageType) + { + Assert.AreEqual(messageType, ConversionHelper.ConvertToInputMessageType(logMessageType)); + } + + [Test] + [TestCase(MessageMessageType.Error, LogMessageType.Error)] + [TestCase(MessageMessageType.Info, LogMessageType.Info)] + [TestCase(MessageMessageType.Warning, LogMessageType.Warning)] + public void CanConvertToMessageType(MessageMessageType messageType, LogMessageType logMessageType) + { + Assert.AreEqual(logMessageType, ConversionHelper.ConvertToMessageType(messageType)); + } } }