Index: dam engine/trunk/src/Deltares.DamEngine.Interface.Tests/ConversionHelperTests.cs =================================================================== diff -u -r711 -r718 --- dam engine/trunk/src/Deltares.DamEngine.Interface.Tests/ConversionHelperTests.cs (.../ConversionHelperTests.cs) (revision 711) +++ dam engine/trunk/src/Deltares.DamEngine.Interface.Tests/ConversionHelperTests.cs (.../ConversionHelperTests.cs) (revision 718) @@ -22,7 +22,9 @@ using Deltares.DamEngine.Data.General; using Deltares.DamEngine.Data.Geotechnics; using Deltares.DamEngine.Data.Standard.Calculation; +using Deltares.DamEngine.Data.Standard.Logging; using Deltares.DamEngine.Io.XmlInput; +using Deltares.DamEngine.Io.XmlOutput; using NUnit.Framework; namespace Deltares.DamEngine.Interface.Tests @@ -199,36 +201,36 @@ } [Test] - [TestCase(0, FailureMechanismSystemType.StabilityInside)] - [TestCase(1, FailureMechanismSystemType.StabilityOutside)] - [TestCase(2, FailureMechanismSystemType.Piping)] - [TestCase(3, FailureMechanismSystemType.HorizontalBalance)] + [TestCase(FailureMechanismSystemType.StabilityInside, 0)] + [TestCase(FailureMechanismSystemType.StabilityOutside, 1)] + [TestCase(FailureMechanismSystemType.Piping, 2)] + [TestCase(FailureMechanismSystemType.HorizontalBalance, 3)] public void CanConvertToInputFailureMechanismSystemType(FailureMechanismSystemType failureMechanismSystemType, int inputFailureMechanismSystemType) { Assert.AreEqual(inputFailureMechanismSystemType, ConversionHelper.ConvertToInputFailureMechanismSystemType(failureMechanismSystemType)); } [Test] - [TestCase(FailureMechanismSystemType.StabilityInside, 0)] - [TestCase(FailureMechanismSystemType.StabilityOutside, 1)] - [TestCase(FailureMechanismSystemType.Piping, 2)] - [TestCase(FailureMechanismSystemType.HorizontalBalance, 3)] + [TestCase(0, FailureMechanismSystemType.StabilityInside)] + [TestCase(1, FailureMechanismSystemType.StabilityOutside)] + [TestCase(2, FailureMechanismSystemType.Piping)] + [TestCase(3, FailureMechanismSystemType.HorizontalBalance)] public void CanConvertToFailureMechanismSystemType(int inputFailureMechanismSystemType, FailureMechanismSystemType failureMechanismSystemType) { - Assert.AreEqual(failureMechanismSystemType, ConversionHelper.ConvertToFailureMechanismSystemType(inputFailureMechanismSystemType)); + Assert.AreEqual(inputFailureMechanismSystemType, ConversionHelper.ConvertToInputFailureMechanismSystemType(failureMechanismSystemType)); } [Test] - [TestCase(InputAnalysisType.AdaptGeometry, AnalysisType.AdaptGeometry)] - [TestCase(InputAnalysisType.NoAdaption, AnalysisType.NoAdaption)] + [TestCase(AnalysisType.AdaptGeometry, InputAnalysisType.AdaptGeometry)] + [TestCase(AnalysisType.NoAdaption, InputAnalysisType.NoAdaption)] public void CanConvertToInputAnalysisType(AnalysisType analysisType, InputAnalysisType inputAnalysisType) { Assert.AreEqual(inputAnalysisType, ConversionHelper.ConvertToInputAnalysisType(analysisType)); } [Test] - [TestCase(AnalysisType.AdaptGeometry, InputAnalysisType.AdaptGeometry)] - [TestCase(AnalysisType.NoAdaption, InputAnalysisType.NoAdaption)] + [TestCase(InputAnalysisType.AdaptGeometry, AnalysisType.AdaptGeometry)] + [TestCase(InputAnalysisType.NoAdaption, AnalysisType.NoAdaption)] public void CanConvertToAnalysisType(InputAnalysisType inputAnalysisType, AnalysisType analysisType) { Assert.AreEqual(analysisType, ConversionHelper.ConvertToAnalysisType(inputAnalysisType)); @@ -251,5 +253,26 @@ { 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)); + } } } Index: dam engine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlOutput.cs =================================================================== diff -u -r686 -r718 --- dam engine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlOutput.cs (.../FillDamFromXmlOutput.cs) (revision 686) +++ dam engine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlOutput.cs (.../FillDamFromXmlOutput.cs) (revision 718) @@ -23,6 +23,7 @@ using Deltares.DamEngine.Data.General; using Deltares.DamEngine.Data.Geometry; using Deltares.DamEngine.Data.Geotechnics; +using Deltares.DamEngine.Data.Standard.Logging; using Deltares.DamEngine.Io.XmlOutput; using SurfaceLine = Deltares.DamEngine.Io.XmlInput.SurfaceLine; @@ -68,7 +69,21 @@ CreateDesignResultsPipingOutput(designResult, desResult); } damProjectData.DesignCalculations.Add(desResult); - } + } + + if (output.ValidationResults != null) + { + damProjectData.CalculationMessages = new List(); + for (int i = 0; i < output.ValidationResults.Length; i++) + { + var validationResult = output.ValidationResults[i]; + var logMessage = new LogMessage(); + logMessage.MessageType = ConversionHelper.ConvertToMessageType(validationResult.MessageType); + logMessage.Subject = null; + logMessage.Message = validationResult.Message1; + damProjectData.CalculationMessages.Add(logMessage); + } + } } private static void CreateDesignResultsPipingOutput(DesignResult designResult, Data.General.Results.DesignResult desResult) Index: dam engine/trunk/src/Deltares.DamEngine.Interface.Tests/FillXmlOutputFromDamTests.cs =================================================================== diff -u -r686 -r718 --- dam engine/trunk/src/Deltares.DamEngine.Interface.Tests/FillXmlOutputFromDamTests.cs (.../FillXmlOutputFromDamTests.cs) (revision 686) +++ dam engine/trunk/src/Deltares.DamEngine.Interface.Tests/FillXmlOutputFromDamTests.cs (.../FillXmlOutputFromDamTests.cs) (revision 718) @@ -25,6 +25,7 @@ using Deltares.DamEngine.Data.Geometry; using Deltares.DamEngine.Data.Geotechnics; using Deltares.DamEngine.Data.Standard.Calculation; +using Deltares.DamEngine.Data.Standard.Logging; using Deltares.DamEngine.Io; using Deltares.DamEngine.Io.XmlOutput; using KellermanSoftware.CompareNetObjects; @@ -149,6 +150,15 @@ result.PipingDesignResults.UpliftSituation = situation; damProjectData.DesignCalculations.Add(result); } + const int messageCount = 2; + for (int i = 0; i < messageCount; i++) + { + + } + 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 engine/trunk/src/Deltares.DamEngine.Interface/ConversionHelper.cs =================================================================== diff -u -r711 -r718 --- dam engine/trunk/src/Deltares.DamEngine.Interface/ConversionHelper.cs (.../ConversionHelper.cs) (revision 711) +++ dam engine/trunk/src/Deltares.DamEngine.Interface/ConversionHelper.cs (.../ConversionHelper.cs) (revision 718) @@ -23,7 +23,9 @@ using Deltares.DamEngine.Data.General; using Deltares.DamEngine.Data.Geotechnics; using Deltares.DamEngine.Data.Standard.Calculation; +using Deltares.DamEngine.Data.Standard.Logging; using Deltares.DamEngine.Io.XmlInput; +using Deltares.DamEngine.Io.XmlOutput; namespace Deltares.DamEngine.Interface { @@ -494,5 +496,40 @@ }; 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]; + } } } \ No newline at end of file Index: dam engine/trunk/src/Deltares.DamEngine.Interface/EngineInterface.cs =================================================================== diff -u -r707 -r718 --- dam engine/trunk/src/Deltares.DamEngine.Interface/EngineInterface.cs (.../EngineInterface.cs) (revision 707) +++ dam engine/trunk/src/Deltares.DamEngine.Interface/EngineInterface.cs (.../EngineInterface.cs) (revision 718) @@ -161,7 +161,7 @@ string outputXml; SendMessage(new LogMessage() { MessageType = LogMessageType.Info, Message = Resources.StartCalculation }); - List calculationMessages; + List calculationMessages = null; switch (DamProjectData.DamProjectType) { case DamProjectType.Assessment: @@ -174,6 +174,7 @@ calculationMessages = designCalculator.Execute(DamProjectData); break; } + DamProjectData.CalculationMessages = calculationMessages; Output output = FillXmlOutputFromDam.CreateOutput(DamProjectData); outputXml = DamXmlSerialization.SaveOutputAsXmlString(output); SendMessage(new LogMessage() { MessageType = LogMessageType.Info, Message = Resources.EndCalculation }); Index: dam engine/trunk/src/Deltares.DamEngine.Data/General/DamProjectData.cs =================================================================== diff -u -r538 -r718 --- dam engine/trunk/src/Deltares.DamEngine.Data/General/DamProjectData.cs (.../DamProjectData.cs) (revision 538) +++ dam engine/trunk/src/Deltares.DamEngine.Data/General/DamProjectData.cs (.../DamProjectData.cs) (revision 718) @@ -29,6 +29,7 @@ using Deltares.DamEngine.Data.RWScenarios; using Deltares.DamEngine.Data.Standard.Calculation; using Deltares.DamEngine.Data.Standard.Language; +using Deltares.DamEngine.Data.Standard.Logging; using Deltares.DamEngine.Data.Standard.Validation; namespace Deltares.DamEngine.Data.General @@ -48,7 +49,14 @@ private SchematizationFactorData schematizationFactorData = new SchematizationFactorData(); private List calculations = null; // will be created and initialized in property private List designCalculations = null; - private List schematizationFactors = null; + private List schematizationFactors = null; + /// + /// Gets or sets the calculation messages. + /// + /// + /// The calculation messages. + /// + public List CalculationMessages { get; set; } = null; private SensorData sensorData; /// Index: dam engine/trunk/src/Deltares.DamEngine.Interface/FillXmlOutputFromDam.cs =================================================================== diff -u -r686 -r718 --- dam engine/trunk/src/Deltares.DamEngine.Interface/FillXmlOutputFromDam.cs (.../FillXmlOutputFromDam.cs) (revision 686) +++ dam engine/trunk/src/Deltares.DamEngine.Interface/FillXmlOutputFromDam.cs (.../FillXmlOutputFromDam.cs) (revision 718) @@ -39,19 +39,19 @@ { // Echo of the input Output output = new Output(); - + // Validation will be done using a static logmanager and passing logmessages. But this has still to be implemented. // Validation using Attributes must be removed, using explicit validation methods (ValidatioResult) replaced. Still to be done. output.ValidationResults = new Message[0]; -// var mestel = 0; -// foreach (var res in valres) -// { -// var mes = new Message(); -// mes.Message1 = res.Text; -// mes.MessageType = res.MessageType; -// output.ValidationResults[mestel] = mes; -// mestel++; -// } + // var mestel = 0; + // foreach (var res in valres) + // { + // var mes = new Message(); + // mes.Message1 = res.Text; + // mes.MessageType = res.MessageType; + // output.ValidationResults[mestel] = mes; + // mestel++; + // } // Results output.Results = new OutputResults(); @@ -63,86 +63,86 @@ CreateDesignResultsOutput(damProjectData, output); // Calculation results (per location) -// output.Results.CalculationResults.LocationResults = new CalculationResultsLocationResult[damProjectData.LocationJobs.Count]; -// var jobtel = 0; -// foreach (var locationJob in damProjectData.LocationJobs) -// { -// var outputLocationResult = new CalculationResultsLocationResult(); -// -// // Stability TimeSerie (later) -// -// // Piping TimeSerie (later) -// -// // RWScenarios results -// outputLocationResult.RWScenariosResult = new CalculationResultsLocationResultRWScenariosResult(); -// outputLocationResult.RWScenariosResult.SafetyFactor = locationJob.LocationResult.RWScenariosResult.SafetyFactor; -// outputLocationResult.RWScenariosResult.CalculationResult = locationJob.LocationResult.RWScenariosResult.CalculationResult; -// outputLocationResult.RWScenariosResult.RWScenarioResult = new RWScenarioResult[locationJob.LocationResult.RWScenariosResult.RWScenarioResults.Count]; -// var scentel = 0; -// foreach (var rwScenarioResult in locationJob.LocationResult.RWScenariosResult.RWScenarioResults) -// { -// var outputRwScenarioResult = new RWScenarioResult(); -// outputRwScenarioResult.LoadSituation = rwScenarioResult.LoadSituation; -// outputRwScenarioResult.DikeDrySensitivity = rwScenarioResult.DikeDrySensitivity; -// outputRwScenarioResult.HydraulicShortcutType = rwScenarioResult.HydraulicShortcutType; -// outputRwScenarioResult.UpliftType = rwScenarioResult.UpliftType; -// outputRwScenarioResult.ModelOption = rwScenarioResult.ModelOption; -// outputRwScenarioResult.ScenarioType = rwScenarioResult.ScenarioType; -// outputRwScenarioResult.CalculationResult = rwScenarioResult.CalculationResult; -// outputRwScenarioResult.SafetyFactor = rwScenarioResult.SafetyFactor; -// outputRwScenarioResult.RWScenarioProfileResults = new RWScenarioResultRWScenarioProfileResult[rwScenarioResult.RWScenarioProfileResults.Count]; -// var proftel = 0; -// foreach (var profileResult in rwScenarioResult.RWScenarioProfileResults) -// { -// var outputProfileResult = new RWScenarioResultRWScenarioProfileResult(); -// outputProfileResult.LocationName = profileResult.LocationName; -// outputProfileResult.LoadSituation = profileResult.LoadSituation; -// outputProfileResult.DikeDrySensitivity = profileResult.DikeDrySensitivity; -// outputProfileResult.HydraulicShortcutType = profileResult.HydraulicShortcutType; -// outputProfileResult.UpliftType = profileResult.UpliftType; -// outputProfileResult.MStabModelOption = profileResult.MstabModelOption; -// outputProfileResult.PipingModelOption = profileResult.PipingModelOption; -// outputProfileResult.ScenarioType = profileResult.ScenarioType; -// outputProfileResult.SoilProfileName = profileResult.SoilProfileName; -// outputProfileResult.SoilProfileProbability = profileResult.SoilProfileProbability; -// //outputProfileResult.FailureMechanismType = profileResult.FailureMechanismType; -// outputProfileResult.BaseFileName = profileResult.BaseFileName; -// outputProfileResult.RWResult = new RWResult(); -// //outputProfileResult.RWResult.RWResultType = profileResult.RwResultType; -// outputProfileResult.RWResult.SafetyFactor = profileResult.SafetyFactor; -// outputProfileResult.RWResult.ProbabilityOfFailure = profileResult.ProbabilityOfFailure; -// //outputProfileResult.RWResult.CalculationResult = profileResult.CalculationResult; -// outputLocationResult.RWScenariosResult.RWScenarioResult[scentel].RWScenarioProfileResults[proftel] = outputProfileResult; -// proftel++; -// } -// outputLocationResult.RWScenariosResult.RWScenarioResult[scentel] = outputRwScenarioResult; -// scentel++; -// -// // RWSchematizationFactors Result -// outputLocationResult.RWSchematizationFactorsResult = new CalculationResultsLocationResultRWSchematizationFactorsResult(); -// outputLocationResult.RWSchematizationFactorsResult.RWSchematizationFactorResult = new CalculationResultsLocationResultRWSchematizationFactorsResultRWSchematizationFactorResult[damProjectData.SchematizationFactors.Count]; -// var factortel = 0; -// foreach (var rwSchematizationFactorResult in damProjectData.SchematizationFactors) -// { -// var factorResult = new CalculationResultsLocationResultRWSchematizationFactorsResultRWSchematizationFactorResult(); -// factorResult.LocationName = rwSchematizationFactorResult.LocationName; -// //factorResult.SchematizationType = rwSchematizationFactorResult.SchematizationType; -// factorResult.SoilProfileName = rwSchematizationFactorResult.SoilProfileName; -// factorResult.OriginalDecisiveSoilProfileName = rwSchematizationFactorResult.OriginalDecisiveSoilProfileName; -// factorResult.SchematizationFactor = rwSchematizationFactorResult.SchematizationFactor; -// factorResult.SummedProfileProbability = rwSchematizationFactorResult.SummedProfileProbability; -// //factorResult.DecisiveScenarioName = rwSchematizationFactorResult.DecisiveScenarioName; -// factorResult.DetrimentFactor = rwSchematizationFactorResult.DetrimentFactor; -// factorResult.SafetyFactor = rwSchematizationFactorResult.SafetyFactor; -// //factorResult.CalculationResult = rwSchematizationFactorResult.CalculationResult; -// outputLocationResult.RWSchematizationFactorsResult.RWSchematizationFactorResult[factortel] = factorResult; -// factortel++; -// } -// -// } -// output.Results.CalculationResults.LocationResults[jobtel] = outputLocationResult; -// jobtel++; -// } + // output.Results.CalculationResults.LocationResults = new CalculationResultsLocationResult[damProjectData.LocationJobs.Count]; + // var jobtel = 0; + // foreach (var locationJob in damProjectData.LocationJobs) + // { + // var outputLocationResult = new CalculationResultsLocationResult(); + // + // // Stability TimeSerie (later) + // + // // Piping TimeSerie (later) + // + // // RWScenarios results + // outputLocationResult.RWScenariosResult = new CalculationResultsLocationResultRWScenariosResult(); + // outputLocationResult.RWScenariosResult.SafetyFactor = locationJob.LocationResult.RWScenariosResult.SafetyFactor; + // outputLocationResult.RWScenariosResult.CalculationResult = locationJob.LocationResult.RWScenariosResult.CalculationResult; + // outputLocationResult.RWScenariosResult.RWScenarioResult = new RWScenarioResult[locationJob.LocationResult.RWScenariosResult.RWScenarioResults.Count]; + // var scentel = 0; + // foreach (var rwScenarioResult in locationJob.LocationResult.RWScenariosResult.RWScenarioResults) + // { + // var outputRwScenarioResult = new RWScenarioResult(); + // outputRwScenarioResult.LoadSituation = rwScenarioResult.LoadSituation; + // outputRwScenarioResult.DikeDrySensitivity = rwScenarioResult.DikeDrySensitivity; + // outputRwScenarioResult.HydraulicShortcutType = rwScenarioResult.HydraulicShortcutType; + // outputRwScenarioResult.UpliftType = rwScenarioResult.UpliftType; + // outputRwScenarioResult.ModelOption = rwScenarioResult.ModelOption; + // outputRwScenarioResult.ScenarioType = rwScenarioResult.ScenarioType; + // outputRwScenarioResult.CalculationResult = rwScenarioResult.CalculationResult; + // outputRwScenarioResult.SafetyFactor = rwScenarioResult.SafetyFactor; + // outputRwScenarioResult.RWScenarioProfileResults = new RWScenarioResultRWScenarioProfileResult[rwScenarioResult.RWScenarioProfileResults.Count]; + // var proftel = 0; + // foreach (var profileResult in rwScenarioResult.RWScenarioProfileResults) + // { + // var outputProfileResult = new RWScenarioResultRWScenarioProfileResult(); + // outputProfileResult.LocationName = profileResult.LocationName; + // outputProfileResult.LoadSituation = profileResult.LoadSituation; + // outputProfileResult.DikeDrySensitivity = profileResult.DikeDrySensitivity; + // outputProfileResult.HydraulicShortcutType = profileResult.HydraulicShortcutType; + // outputProfileResult.UpliftType = profileResult.UpliftType; + // outputProfileResult.MStabModelOption = profileResult.MstabModelOption; + // outputProfileResult.PipingModelOption = profileResult.PipingModelOption; + // outputProfileResult.ScenarioType = profileResult.ScenarioType; + // outputProfileResult.SoilProfileName = profileResult.SoilProfileName; + // outputProfileResult.SoilProfileProbability = profileResult.SoilProfileProbability; + // //outputProfileResult.FailureMechanismType = profileResult.FailureMechanismType; + // outputProfileResult.BaseFileName = profileResult.BaseFileName; + // outputProfileResult.RWResult = new RWResult(); + // //outputProfileResult.RWResult.RWResultType = profileResult.RwResultType; + // outputProfileResult.RWResult.SafetyFactor = profileResult.SafetyFactor; + // outputProfileResult.RWResult.ProbabilityOfFailure = profileResult.ProbabilityOfFailure; + // //outputProfileResult.RWResult.CalculationResult = profileResult.CalculationResult; + // outputLocationResult.RWScenariosResult.RWScenarioResult[scentel].RWScenarioProfileResults[proftel] = outputProfileResult; + // proftel++; + // } + // outputLocationResult.RWScenariosResult.RWScenarioResult[scentel] = outputRwScenarioResult; + // scentel++; + // + // // RWSchematizationFactors Result + // outputLocationResult.RWSchematizationFactorsResult = new CalculationResultsLocationResultRWSchematizationFactorsResult(); + // outputLocationResult.RWSchematizationFactorsResult.RWSchematizationFactorResult = new CalculationResultsLocationResultRWSchematizationFactorsResultRWSchematizationFactorResult[damProjectData.SchematizationFactors.Count]; + // var factortel = 0; + // foreach (var rwSchematizationFactorResult in damProjectData.SchematizationFactors) + // { + // var factorResult = new CalculationResultsLocationResultRWSchematizationFactorsResultRWSchematizationFactorResult(); + // factorResult.LocationName = rwSchematizationFactorResult.LocationName; + // //factorResult.SchematizationType = rwSchematizationFactorResult.SchematizationType; + // factorResult.SoilProfileName = rwSchematizationFactorResult.SoilProfileName; + // factorResult.OriginalDecisiveSoilProfileName = rwSchematizationFactorResult.OriginalDecisiveSoilProfileName; + // factorResult.SchematizationFactor = rwSchematizationFactorResult.SchematizationFactor; + // factorResult.SummedProfileProbability = rwSchematizationFactorResult.SummedProfileProbability; + // //factorResult.DecisiveScenarioName = rwSchematizationFactorResult.DecisiveScenarioName; + // factorResult.DetrimentFactor = rwSchematizationFactorResult.DetrimentFactor; + // factorResult.SafetyFactor = rwSchematizationFactorResult.SafetyFactor; + // //factorResult.CalculationResult = rwSchematizationFactorResult.CalculationResult; + // outputLocationResult.RWSchematizationFactorsResult.RWSchematizationFactorResult[factortel] = factorResult; + // factortel++; + // } + // + // } + // output.Results.CalculationResults.LocationResults[jobtel] = outputLocationResult; + // jobtel++; + // } return output; } @@ -161,9 +161,9 @@ BaseFileName = designResult.BaseFileName, LocationName = designResult.LocationName, ScenarioName = designResult.ScenarioName, - ProfileName = designResult.ProfileName, + ProfileName = designResult.ProfileName, }; - + desResult.CalculationResult = ConversionHelper.ConvertToOutputCalculationResult(designResult.CalculationResult); if (designResult.PipingDesignResults != null) @@ -174,13 +174,26 @@ designResultCount++; } } + var calculationMessages = damProjectData.CalculationMessages; + if (calculationMessages != null) + { + output.ValidationResults = 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; + output.ValidationResults[i] = message; + } + + } } private static void CreateDesignResultsPipingOutput(DesignResult desResult, Data.General.Results.DesignResult designResult) { desResult.PipingDesignResults = new DesignResultPipingDesignResults { - ResultMessage = designResult.PipingDesignResults.ResultMessage + ResultMessage = designResult.PipingDesignResults.ResultMessage }; if (designResult.PipingDesignResults.RedesignedSurfaceLine != null) {