Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlOutputFromDam.cs =================================================================== diff -u -r4036 -r4052 --- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlOutputFromDam.cs (.../FillXmlOutputFromDam.cs) (revision 4036) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlOutputFromDam.cs (.../FillXmlOutputFromDam.cs) (revision 4052) @@ -30,497 +30,496 @@ using TimeSerie = Deltares.DamEngine.Io.XmlOutput.TimeSerie; using UpliftSituation = Deltares.DamEngine.Data.General.UpliftSituation; -namespace Deltares.DamEngine.Interface +namespace Deltares.DamEngine.Interface; + +/// +/// Class to fill the output xml based on the results in DamProjectData +/// +public class FillXmlOutputFromDam { /// - /// Class to fill the output xml based on the results in DamProjectData + /// Creates the output. /// - public class FillXmlOutputFromDam + /// The dam project data. + /// + public static Output CreateOutput(DamProjectData damProjectData) { - /// - /// Creates the output. - /// - /// The dam project data. - /// - public static Output CreateOutput(DamProjectData damProjectData) + // Echo of the input + var output = new Output { - // Echo of the input - var output = new Output + ValidationResults = new Message[0], + // Results + Results = new OutputResults { - ValidationResults = new Message[0], - // Results - Results = new OutputResults - { - // Calculation messages - CalculationMessages = new Message[damProjectData.CalculationMessages.Count] - } - }; - CreateCalculationMessages(damProjectData, output); - CreateDesignResultsOutput(damProjectData, output); - CreateLocationResultsOutput(damProjectData, output); - return output; - } + // Calculation messages + CalculationMessages = new Message[damProjectData.CalculationMessages.Count] + } + }; + CreateCalculationMessages(damProjectData, output); + CreateDesignResultsOutput(damProjectData, output); + CreateLocationResultsOutput(damProjectData, output); + return output; + } - private static void CreateDesignResultsOutput(DamProjectData damProjectData, Output output) + private static void CreateDesignResultsOutput(DamProjectData damProjectData, Output output) + { + // Design results + List designResults = damProjectData.DesignCalculations; + if (designResults != null && designResults.Count > 0) { - // Design results - List designResults = damProjectData.DesignCalculations; - if (designResults != null && designResults.Count > 0) + output.Results.CalculationResults = new DesignResult[designResults.Count]; + var designResultCount = 0; + foreach (Data.General.Results.DesignResult designResult in designResults) { - output.Results.CalculationResults = new DesignResult[designResults.Count]; - var designResultCount = 0; - foreach (Data.General.Results.DesignResult designResult in designResults) + var desResult = new DesignResult { - var desResult = new DesignResult - { - BaseFileName = designResult.BaseFileName, - CalculationSubDir = designResult.CalculationSubDir, - LocationName = designResult.LocationName, - ScenarioName = designResult.ScenarioName, - ProfileName = designResult.ProfileName, - CalculationResult = ConversionHelper.ConvertToOutputCalculationResult(designResult.CalculationResult) - }; + BaseFileName = designResult.BaseFileName, + CalculationSubDir = designResult.CalculationSubDir, + LocationName = designResult.LocationName, + ScenarioName = designResult.ScenarioName, + ProfileName = designResult.ProfileName, + CalculationResult = ConversionHelper.ConvertToOutputCalculationResult(designResult.CalculationResult) + }; - if (designResult.PipingDesignResults != null) - { - CreateDesignResultsPipingOutput(desResult, designResult); - } + if (designResult.PipingDesignResults != null) + { + CreateDesignResultsPipingOutput(desResult, designResult); + } - if (designResult.StabilityDesignResults != null) - { - CreateDesignResultsStabilityOutput(desResult, designResult); - } - - output.Results.CalculationResults[designResultCount] = desResult; - designResultCount++; + if (designResult.StabilityDesignResults != null) + { + CreateDesignResultsStabilityOutput(desResult, designResult); } + + output.Results.CalculationResults[designResultCount] = desResult; + designResultCount++; } } + } - private static void CreateCalculationMessages(DamProjectData damProjectData, Output output) + private static void CreateCalculationMessages(DamProjectData damProjectData, Output output) + { + List calculationMessages = damProjectData.CalculationMessages; + if (calculationMessages != null) { - List calculationMessages = damProjectData.CalculationMessages; - if (calculationMessages != null) + output.Results.CalculationMessages = new Message[calculationMessages.Count]; + for (var i = 0; i < calculationMessages.Count; i++) { - output.Results.CalculationMessages = new Message[calculationMessages.Count]; - for (var i = 0; i < calculationMessages.Count; i++) + var message = new Message { - var message = new Message - { - MessageType = ConversionHelper.ConvertToInputMessageType(calculationMessages[i].MessageType) - }; - if (calculationMessages[i].Subject != null) - { - message.Message1 = calculationMessages[i].Subject + ": " + calculationMessages[i].Message; - } - else - { - message.Message1 = calculationMessages[i].Message; - } - - output.Results.CalculationMessages[i] = message; + MessageType = ConversionHelper.ConvertToInputMessageType(calculationMessages[i].MessageType) + }; + if (calculationMessages[i].Subject != null) + { + message.Message1 = calculationMessages[i].Subject + ": " + calculationMessages[i].Message; } + else + { + message.Message1 = calculationMessages[i].Message; + } + + output.Results.CalculationMessages[i] = message; } } + } - private static void CreateDesignResultsPipingOutput(DesignResult desResult, Data.General.Results.DesignResult designResult) + private static void CreateDesignResultsPipingOutput(DesignResult desResult, Data.General.Results.DesignResult designResult) + { + desResult.PipingDesignResults = new DesignResultPipingDesignResults { - desResult.PipingDesignResults = new DesignResultPipingDesignResults + ResultMessage = designResult.PipingDesignResults.ResultMessage + }; + if (designResult.PipingDesignResults.RedesignedSurfaceLine != null) + { + desResult.PipingDesignResults.RedesignedSurfaceLine = new SurfaceLine { - ResultMessage = designResult.PipingDesignResults.ResultMessage + Name = designResult.PipingDesignResults.RedesignedSurfaceLine.Name, + Points = new SurfaceLinePoint[designResult.PipingDesignResults.RedesignedSurfaceLine.CharacteristicPoints.Count] }; - if (designResult.PipingDesignResults.RedesignedSurfaceLine != null) + for (var j = 0; j < designResult.PipingDesignResults.RedesignedSurfaceLine.CharacteristicPoints.Count; j++) { - desResult.PipingDesignResults.RedesignedSurfaceLine = new SurfaceLine + CharacteristicPoint characteristicPoint = designResult.PipingDesignResults.RedesignedSurfaceLine.CharacteristicPoints[j]; + var inputPoint = new SurfaceLinePoint { - Name = designResult.PipingDesignResults.RedesignedSurfaceLine.Name, - Points = new SurfaceLinePoint[designResult.PipingDesignResults.RedesignedSurfaceLine.CharacteristicPoints.Count] + PointType = ConversionHelper.ConvertToInputPointType(characteristicPoint.CharacteristicPointType), + X = characteristicPoint.X, + Z = characteristicPoint.Z }; - for (var j = 0; j < designResult.PipingDesignResults.RedesignedSurfaceLine.CharacteristicPoints.Count; j++) - { - CharacteristicPoint characteristicPoint = designResult.PipingDesignResults.RedesignedSurfaceLine.CharacteristicPoints[j]; - var inputPoint = new SurfaceLinePoint - { - PointType = ConversionHelper.ConvertToInputPointType(characteristicPoint.CharacteristicPointType), - X = characteristicPoint.X, - Z = characteristicPoint.Z - }; - desResult.PipingDesignResults.RedesignedSurfaceLine.Points[j] = inputPoint; - } + desResult.PipingDesignResults.RedesignedSurfaceLine.Points[j] = inputPoint; } + } - desResult.PipingDesignResults.UpliftFactorSpecified = designResult.PipingDesignResults.UpliftFactor.HasValue; - if (designResult.PipingDesignResults.UpliftFactor.HasValue) - { - desResult.PipingDesignResults.UpliftFactor = designResult.PipingDesignResults.UpliftFactor.Value; - } + desResult.PipingDesignResults.UpliftFactorSpecified = designResult.PipingDesignResults.UpliftFactor.HasValue; + if (designResult.PipingDesignResults.UpliftFactor.HasValue) + { + desResult.PipingDesignResults.UpliftFactor = designResult.PipingDesignResults.UpliftFactor.Value; + } - desResult.PipingDesignResults.HeaveFactorSpecified = designResult.PipingDesignResults.HeaveFactor.HasValue; - if (designResult.PipingDesignResults.HeaveFactor.HasValue) - { - desResult.PipingDesignResults.HeaveFactor = designResult.PipingDesignResults.HeaveFactor.Value; - } + desResult.PipingDesignResults.HeaveFactorSpecified = designResult.PipingDesignResults.HeaveFactor.HasValue; + if (designResult.PipingDesignResults.HeaveFactor.HasValue) + { + desResult.PipingDesignResults.HeaveFactor = designResult.PipingDesignResults.HeaveFactor.Value; + } - desResult.PipingDesignResults.BlighFactorSpecified = designResult.PipingDesignResults.BlighFactor.HasValue; - if (designResult.PipingDesignResults.BlighFactor.HasValue) - { - desResult.PipingDesignResults.BlighFactor = designResult.PipingDesignResults.BlighFactor.Value; - } + desResult.PipingDesignResults.BlighFactorSpecified = designResult.PipingDesignResults.BlighFactor.HasValue; + if (designResult.PipingDesignResults.BlighFactor.HasValue) + { + desResult.PipingDesignResults.BlighFactor = designResult.PipingDesignResults.BlighFactor.Value; + } - desResult.PipingDesignResults.BlighHcriticalSpecified = designResult.PipingDesignResults.BlighHcritical.HasValue; - if (designResult.PipingDesignResults.BlighHcritical.HasValue) - { - desResult.PipingDesignResults.BlighHcritical = designResult.PipingDesignResults.BlighHcritical.Value; - } + desResult.PipingDesignResults.BlighHcriticalSpecified = designResult.PipingDesignResults.BlighHcritical.HasValue; + if (designResult.PipingDesignResults.BlighHcritical.HasValue) + { + desResult.PipingDesignResults.BlighHcritical = designResult.PipingDesignResults.BlighHcritical.Value; + } - desResult.PipingDesignResults.Sellmeijer4ForcesFactorSpecified = designResult.PipingDesignResults.Sellmeijer4ForcesFactor.HasValue; - if (designResult.PipingDesignResults.Sellmeijer4ForcesFactor.HasValue) - { - desResult.PipingDesignResults.Sellmeijer4ForcesFactor = designResult.PipingDesignResults.Sellmeijer4ForcesFactor.Value; - } + desResult.PipingDesignResults.Sellmeijer4ForcesFactorSpecified = designResult.PipingDesignResults.Sellmeijer4ForcesFactor.HasValue; + if (designResult.PipingDesignResults.Sellmeijer4ForcesFactor.HasValue) + { + desResult.PipingDesignResults.Sellmeijer4ForcesFactor = designResult.PipingDesignResults.Sellmeijer4ForcesFactor.Value; + } - desResult.PipingDesignResults.Sellmeijer4ForcesHcriticalSpecified = designResult.PipingDesignResults.Sellmeijer4ForcesHcritical.HasValue; - if (designResult.PipingDesignResults.Sellmeijer4ForcesHcritical.HasValue) - { - desResult.PipingDesignResults.Sellmeijer4ForcesHcritical = designResult.PipingDesignResults.Sellmeijer4ForcesHcritical.Value; - } + desResult.PipingDesignResults.Sellmeijer4ForcesHcriticalSpecified = designResult.PipingDesignResults.Sellmeijer4ForcesHcritical.HasValue; + if (designResult.PipingDesignResults.Sellmeijer4ForcesHcritical.HasValue) + { + desResult.PipingDesignResults.Sellmeijer4ForcesHcritical = designResult.PipingDesignResults.Sellmeijer4ForcesHcritical.Value; + } - desResult.PipingDesignResults.SellmeijerVnkFactorSpecified = designResult.PipingDesignResults.SellmeijerVnkFactor.HasValue; - if (designResult.PipingDesignResults.SellmeijerVnkFactor.HasValue) - { - desResult.PipingDesignResults.SellmeijerVnkFactor = designResult.PipingDesignResults.SellmeijerVnkFactor.Value; - } + desResult.PipingDesignResults.SellmeijerVnkFactorSpecified = designResult.PipingDesignResults.SellmeijerVnkFactor.HasValue; + if (designResult.PipingDesignResults.SellmeijerVnkFactor.HasValue) + { + desResult.PipingDesignResults.SellmeijerVnkFactor = designResult.PipingDesignResults.SellmeijerVnkFactor.Value; + } - desResult.PipingDesignResults.SellmeijerVnkHcriticalSpecified = designResult.PipingDesignResults.SellmeijerVnkHcritical.HasValue; - if (designResult.PipingDesignResults.SellmeijerVnkHcritical.HasValue) - { - desResult.PipingDesignResults.SellmeijerVnkHcritical = designResult.PipingDesignResults.SellmeijerVnkHcritical.Value; - } + desResult.PipingDesignResults.SellmeijerVnkHcriticalSpecified = designResult.PipingDesignResults.SellmeijerVnkHcritical.HasValue; + if (designResult.PipingDesignResults.SellmeijerVnkHcritical.HasValue) + { + desResult.PipingDesignResults.SellmeijerVnkHcritical = designResult.PipingDesignResults.SellmeijerVnkHcritical.Value; + } - desResult.PipingDesignResults.Wti2017BackwardErosionFactorSpecified = designResult.PipingDesignResults.Wti2017BackwardErosionSafetyFactor.HasValue; - if (designResult.PipingDesignResults.Wti2017BackwardErosionSafetyFactor.HasValue) - { - desResult.PipingDesignResults.Wti2017BackwardErosionFactor = designResult.PipingDesignResults.Wti2017BackwardErosionSafetyFactor.Value; - } + desResult.PipingDesignResults.Wti2017BackwardErosionFactorSpecified = designResult.PipingDesignResults.Wti2017BackwardErosionSafetyFactor.HasValue; + if (designResult.PipingDesignResults.Wti2017BackwardErosionSafetyFactor.HasValue) + { + desResult.PipingDesignResults.Wti2017BackwardErosionFactor = designResult.PipingDesignResults.Wti2017BackwardErosionSafetyFactor.Value; + } - desResult.PipingDesignResults.Wti2017BackwardErosionHcriticalSpecified = designResult.PipingDesignResults.Wti2017BackwardErosionHcritical.HasValue; - if (designResult.PipingDesignResults.Wti2017BackwardErosionHcritical.HasValue) - { - desResult.PipingDesignResults.Wti2017BackwardErosionHcritical = designResult.PipingDesignResults.Wti2017BackwardErosionHcritical.Value; - } + desResult.PipingDesignResults.Wti2017BackwardErosionHcriticalSpecified = designResult.PipingDesignResults.Wti2017BackwardErosionHcritical.HasValue; + if (designResult.PipingDesignResults.Wti2017BackwardErosionHcritical.HasValue) + { + desResult.PipingDesignResults.Wti2017BackwardErosionHcritical = designResult.PipingDesignResults.Wti2017BackwardErosionHcritical.Value; + } - desResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiCSpecified = designResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiC.HasValue; - if (designResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiC.HasValue) - { - desResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiC = designResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiC.Value; - } + desResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiCSpecified = designResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiC.HasValue; + if (designResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiC.HasValue) + { + desResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiC = designResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiC.Value; + } - desResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiReducedSpecified = designResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiReduced.HasValue; - if (designResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiReduced.HasValue) - { - desResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiReduced = designResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiReduced.Value; - } + desResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiReducedSpecified = designResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiReduced.HasValue; + if (designResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiReduced.HasValue) + { + desResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiReduced = designResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiReduced.Value; + } - desResult.PipingDesignResults.Wti2017UpliftFactorSpecified = designResult.PipingDesignResults.Wti2017UpliftSafetyFactor.HasValue; - if (designResult.PipingDesignResults.Wti2017UpliftSafetyFactor.HasValue) - { - desResult.PipingDesignResults.Wti2017UpliftFactor = designResult.PipingDesignResults.Wti2017UpliftSafetyFactor.Value; - } + desResult.PipingDesignResults.Wti2017UpliftFactorSpecified = designResult.PipingDesignResults.Wti2017UpliftSafetyFactor.HasValue; + if (designResult.PipingDesignResults.Wti2017UpliftSafetyFactor.HasValue) + { + desResult.PipingDesignResults.Wti2017UpliftFactor = designResult.PipingDesignResults.Wti2017UpliftSafetyFactor.Value; + } - desResult.PipingDesignResults.Wti2017UpliftHcriticalSpecified = designResult.PipingDesignResults.Wti2017UpliftHcritical.HasValue; - if (designResult.PipingDesignResults.Wti2017UpliftHcritical.HasValue) - { - desResult.PipingDesignResults.Wti2017UpliftHcritical = designResult.PipingDesignResults.Wti2017UpliftHcritical.Value; - } + desResult.PipingDesignResults.Wti2017UpliftHcriticalSpecified = designResult.PipingDesignResults.Wti2017UpliftHcritical.HasValue; + if (designResult.PipingDesignResults.Wti2017UpliftHcritical.HasValue) + { + desResult.PipingDesignResults.Wti2017UpliftHcritical = designResult.PipingDesignResults.Wti2017UpliftHcritical.Value; + } - desResult.PipingDesignResults.Wti2017DeltaPhiCuSpecified = designResult.PipingDesignResults.Wti2017UpliftDeltaPhiC.HasValue; - if (designResult.PipingDesignResults.Wti2017UpliftDeltaPhiC.HasValue) - { - desResult.PipingDesignResults.Wti2017DeltaPhiCu = designResult.PipingDesignResults.Wti2017UpliftDeltaPhiC.Value; - } + desResult.PipingDesignResults.Wti2017DeltaPhiCuSpecified = designResult.PipingDesignResults.Wti2017UpliftDeltaPhiC.HasValue; + if (designResult.PipingDesignResults.Wti2017UpliftDeltaPhiC.HasValue) + { + desResult.PipingDesignResults.Wti2017DeltaPhiCu = designResult.PipingDesignResults.Wti2017UpliftDeltaPhiC.Value; + } - desResult.PipingDesignResults.Wti2017HeaveFactorSpecified = designResult.PipingDesignResults.Wti2017HeaveSafetyFactor.HasValue; - if (designResult.PipingDesignResults.Wti2017HeaveSafetyFactor.HasValue) - { - desResult.PipingDesignResults.Wti2017HeaveFactor = designResult.PipingDesignResults.Wti2017HeaveSafetyFactor.Value; - } + desResult.PipingDesignResults.Wti2017HeaveFactorSpecified = designResult.PipingDesignResults.Wti2017HeaveSafetyFactor.HasValue; + if (designResult.PipingDesignResults.Wti2017HeaveSafetyFactor.HasValue) + { + desResult.PipingDesignResults.Wti2017HeaveFactor = designResult.PipingDesignResults.Wti2017HeaveSafetyFactor.Value; + } - desResult.PipingDesignResults.Wti2017HeaveHcriticalSpecified = designResult.PipingDesignResults.Wti2017HeaveHcritical.HasValue; - if (designResult.PipingDesignResults.Wti2017HeaveHcritical.HasValue) - { - desResult.PipingDesignResults.Wti2017HeaveHcritical = designResult.PipingDesignResults.Wti2017HeaveHcritical.Value; - } + desResult.PipingDesignResults.Wti2017HeaveHcriticalSpecified = designResult.PipingDesignResults.Wti2017HeaveHcritical.HasValue; + if (designResult.PipingDesignResults.Wti2017HeaveHcritical.HasValue) + { + desResult.PipingDesignResults.Wti2017HeaveHcritical = designResult.PipingDesignResults.Wti2017HeaveHcritical.Value; + } - desResult.PipingDesignResults.Wti2017GradientSpecified = designResult.PipingDesignResults.Wti2017Gradient.HasValue; - if (designResult.PipingDesignResults.Wti2017Gradient.HasValue) - { - desResult.PipingDesignResults.Wti2017Gradient = designResult.PipingDesignResults.Wti2017Gradient.Value; - } + desResult.PipingDesignResults.Wti2017GradientSpecified = designResult.PipingDesignResults.Wti2017Gradient.HasValue; + if (designResult.PipingDesignResults.Wti2017Gradient.HasValue) + { + desResult.PipingDesignResults.Wti2017Gradient = designResult.PipingDesignResults.Wti2017Gradient.Value; + } - desResult.PipingDesignResults.Wti2017FactorOverallSpecified = designResult.PipingDesignResults.Wti2017SafetyFactorOverall.HasValue; - if (designResult.PipingDesignResults.Wti2017SafetyFactorOverall.HasValue) - { - desResult.PipingDesignResults.Wti2017FactorOverall = designResult.PipingDesignResults.Wti2017SafetyFactorOverall.Value; - } + desResult.PipingDesignResults.Wti2017FactorOverallSpecified = designResult.PipingDesignResults.Wti2017SafetyFactorOverall.HasValue; + if (designResult.PipingDesignResults.Wti2017SafetyFactorOverall.HasValue) + { + desResult.PipingDesignResults.Wti2017FactorOverall = designResult.PipingDesignResults.Wti2017SafetyFactorOverall.Value; + } - desResult.PipingDesignResults.Wti2017HcriticalOverallSpecified = designResult.PipingDesignResults.Wti2017HcriticalOverall.HasValue; - if (designResult.PipingDesignResults.Wti2017HcriticalOverall.HasValue) - { - desResult.PipingDesignResults.Wti2017HcriticalOverall = designResult.PipingDesignResults.Wti2017HcriticalOverall.Value; - } + desResult.PipingDesignResults.Wti2017HcriticalOverallSpecified = designResult.PipingDesignResults.Wti2017HcriticalOverall.HasValue; + if (designResult.PipingDesignResults.Wti2017HcriticalOverall.HasValue) + { + desResult.PipingDesignResults.Wti2017HcriticalOverall = designResult.PipingDesignResults.Wti2017HcriticalOverall.Value; + } - desResult.PipingDesignResults.ExitPointXSpecified = designResult.PipingDesignResults.LocalExitPointX.HasValue; - if (designResult.PipingDesignResults.LocalExitPointX.HasValue) - { - desResult.PipingDesignResults.ExitPointX = designResult.PipingDesignResults.LocalExitPointX.Value; - } + desResult.PipingDesignResults.ExitPointXSpecified = designResult.PipingDesignResults.LocalExitPointX.HasValue; + if (designResult.PipingDesignResults.LocalExitPointX.HasValue) + { + desResult.PipingDesignResults.ExitPointX = designResult.PipingDesignResults.LocalExitPointX.Value; + } - desResult.PipingDesignResults.Wti2017EffectiveStressSpecified = designResult.PipingDesignResults.EffectiveStress.HasValue; - if (designResult.PipingDesignResults.EffectiveStress.HasValue) - { - desResult.PipingDesignResults.Wti2017EffectiveStress = designResult.PipingDesignResults.EffectiveStress.Value; - } + desResult.PipingDesignResults.Wti2017EffectiveStressSpecified = designResult.PipingDesignResults.EffectiveStress.HasValue; + if (designResult.PipingDesignResults.EffectiveStress.HasValue) + { + desResult.PipingDesignResults.Wti2017EffectiveStress = designResult.PipingDesignResults.EffectiveStress.Value; + } - desResult.PipingDesignResults.Wti2017CCreepSpecified = designResult.PipingDesignResults.CCreep.HasValue; - if (designResult.PipingDesignResults.CCreep.HasValue) - { - desResult.PipingDesignResults.Wti2017CCreep = designResult.PipingDesignResults.CCreep.Value; - } + desResult.PipingDesignResults.Wti2017CCreepSpecified = designResult.PipingDesignResults.CCreep.HasValue; + if (designResult.PipingDesignResults.CCreep.HasValue) + { + desResult.PipingDesignResults.Wti2017CCreep = designResult.PipingDesignResults.CCreep.Value; + } - if (designResult.PipingDesignResults.UpliftSituation.HasValue) + if (designResult.PipingDesignResults.UpliftSituation.HasValue) + { + UpliftSituation uplift = designResult.PipingDesignResults.UpliftSituation.Value; + desResult.PipingDesignResults.UpliftSituation = new Io.XmlOutput.UpliftSituation { - UpliftSituation uplift = designResult.PipingDesignResults.UpliftSituation.Value; - desResult.PipingDesignResults.UpliftSituation = new Io.XmlOutput.UpliftSituation - { - IsUplift = uplift.IsUplift, - Pl3MinUplift = uplift.Pl3MinUplift, - Pl3HeadAdjusted = uplift.Pl3HeadAdjusted, - Pl3LocationXMinUplift = uplift.Pl3LocationXMinUplift, - Pl4MinUplift = uplift.Pl4MinUplift, - Pl4HeadAdjusted = uplift.Pl4HeadAdjusted, - Pl4LocationXMinUplift = uplift.Pl4LocationXMinUplift - }; - } + IsUplift = uplift.IsUplift, + Pl3MinUplift = uplift.Pl3MinUplift, + Pl3HeadAdjusted = uplift.Pl3HeadAdjusted, + Pl3LocationXMinUplift = uplift.Pl3LocationXMinUplift, + Pl4MinUplift = uplift.Pl4MinUplift, + Pl4HeadAdjusted = uplift.Pl4HeadAdjusted, + Pl4LocationXMinUplift = uplift.Pl4LocationXMinUplift + }; } + } - private static void CreateDesignResultsStabilityOutput(DesignResult desResult, Data.General.Results.DesignResult designResult) + private static void CreateDesignResultsStabilityOutput(DesignResult desResult, Data.General.Results.DesignResult designResult) + { + desResult.StabilityDesignResults = new DesignResultStabilityDesignResults { - desResult.StabilityDesignResults = new DesignResultStabilityDesignResults + ResultMessage = designResult.StabilityDesignResults.ResultMessage + }; + + if (designResult.StabilityDesignResults.UpliftSituation.HasValue) + { + UpliftSituation uplift = designResult.StabilityDesignResults.UpliftSituation.Value; + desResult.StabilityDesignResults.UpliftSituation = new Io.XmlOutput.UpliftSituation { - ResultMessage = designResult.StabilityDesignResults.ResultMessage + IsUplift = uplift.IsUplift, + Pl3MinUplift = uplift.Pl3MinUplift, + Pl3HeadAdjusted = uplift.Pl3HeadAdjusted, + Pl3LocationXMinUplift = uplift.Pl3LocationXMinUplift, + Pl4MinUplift = uplift.Pl4MinUplift, + Pl4HeadAdjusted = uplift.Pl4HeadAdjusted, + Pl4LocationXMinUplift = uplift.Pl4LocationXMinUplift }; + } - if (designResult.StabilityDesignResults.UpliftSituation.HasValue) + if (designResult.StabilityDesignResults.RedesignedSurfaceLine != null) + { + desResult.StabilityDesignResults.RedesignedSurfaceLine = new SurfaceLine { - UpliftSituation uplift = designResult.StabilityDesignResults.UpliftSituation.Value; - desResult.StabilityDesignResults.UpliftSituation = new Io.XmlOutput.UpliftSituation - { - IsUplift = uplift.IsUplift, - Pl3MinUplift = uplift.Pl3MinUplift, - Pl3HeadAdjusted = uplift.Pl3HeadAdjusted, - Pl3LocationXMinUplift = uplift.Pl3LocationXMinUplift, - Pl4MinUplift = uplift.Pl4MinUplift, - Pl4HeadAdjusted = uplift.Pl4HeadAdjusted, - Pl4LocationXMinUplift = uplift.Pl4LocationXMinUplift - }; - } - - if (designResult.StabilityDesignResults.RedesignedSurfaceLine != null) + Name = designResult.StabilityDesignResults.RedesignedSurfaceLine.Name, + Points = new SurfaceLinePoint[designResult.StabilityDesignResults.RedesignedSurfaceLine.CharacteristicPoints.Count] + }; + for (var j = 0; j < designResult.StabilityDesignResults.RedesignedSurfaceLine.CharacteristicPoints.Count; j++) { - desResult.StabilityDesignResults.RedesignedSurfaceLine = new SurfaceLine + CharacteristicPoint characteristicPoint = designResult.StabilityDesignResults.RedesignedSurfaceLine.CharacteristicPoints[j]; + var inputPoint = new SurfaceLinePoint { - Name = designResult.StabilityDesignResults.RedesignedSurfaceLine.Name, - Points = new SurfaceLinePoint[designResult.StabilityDesignResults.RedesignedSurfaceLine.CharacteristicPoints.Count] + PointType = ConversionHelper.ConvertToInputPointType(characteristicPoint.CharacteristicPointType), + X = characteristicPoint.X, + Z = characteristicPoint.Z }; - for (var j = 0; j < designResult.StabilityDesignResults.RedesignedSurfaceLine.CharacteristicPoints.Count; j++) - { - CharacteristicPoint characteristicPoint = designResult.StabilityDesignResults.RedesignedSurfaceLine.CharacteristicPoints[j]; - var inputPoint = new SurfaceLinePoint - { - PointType = ConversionHelper.ConvertToInputPointType(characteristicPoint.CharacteristicPointType), - X = characteristicPoint.X, - Z = characteristicPoint.Z - }; - desResult.StabilityDesignResults.RedesignedSurfaceLine.Points[j] = inputPoint; - } + desResult.StabilityDesignResults.RedesignedSurfaceLine.Points[j] = inputPoint; } + } - if (designResult.StabilityDesignResults != null) + if (designResult.StabilityDesignResults != null) + { + switch (designResult.StabilityDesignResults.StabilityModelType) { - switch (designResult.StabilityDesignResults.StabilityModelType) - { - case MStabModelType.Bishop: - desResult.StabilityDesignResults.SlipCircleDefinition = new SlidingCircleMinimumSafetyCurveType(); - var singleSlipCircleDefinition = (SlidingCircleMinimumSafetyCurveType) desResult.StabilityDesignResults.SlipCircleDefinition; + case MStabModelType.Bishop: + desResult.StabilityDesignResults.SlipCircleDefinition = new SlidingCircleMinimumSafetyCurveType(); + var singleSlipCircleDefinition = (SlidingCircleMinimumSafetyCurveType) desResult.StabilityDesignResults.SlipCircleDefinition; - if (designResult.StabilityDesignResults.ActiveCenterPoint != null) + if (designResult.StabilityDesignResults.ActiveCenterPoint != null) + { + singleSlipCircleDefinition.Center = new Point2DType { - singleSlipCircleDefinition.Center = new Point2DType - { - X = designResult.StabilityDesignResults.ActiveCenterPoint.X, - Z = designResult.StabilityDesignResults.ActiveCenterPoint.Z - }; - singleSlipCircleDefinition.Radius = designResult.StabilityDesignResults.ActiveCenterPointRadius; - } + X = designResult.StabilityDesignResults.ActiveCenterPoint.X, + Z = designResult.StabilityDesignResults.ActiveCenterPoint.Z + }; + singleSlipCircleDefinition.Radius = designResult.StabilityDesignResults.ActiveCenterPointRadius; + } - break; + break; - case MStabModelType.UpliftVan: - desResult.StabilityDesignResults.SlipCircleDefinition = new DualSlidingCircleMinimumSafetyCurveType(); - var dualSlipCircleDefinition = (DualSlidingCircleMinimumSafetyCurveType) desResult.StabilityDesignResults.SlipCircleDefinition; - if (designResult.StabilityDesignResults.ActiveCenterPoint != null) + case MStabModelType.UpliftVan: + desResult.StabilityDesignResults.SlipCircleDefinition = new DualSlidingCircleMinimumSafetyCurveType(); + var dualSlipCircleDefinition = (DualSlidingCircleMinimumSafetyCurveType) desResult.StabilityDesignResults.SlipCircleDefinition; + if (designResult.StabilityDesignResults.ActiveCenterPoint != null) + { + dualSlipCircleDefinition.ActiveCircleCenter = new Point2DType { - dualSlipCircleDefinition.ActiveCircleCenter = new Point2DType - { - X = designResult.StabilityDesignResults.ActiveCenterPoint.X, - Z = designResult.StabilityDesignResults.ActiveCenterPoint.Z - }; - dualSlipCircleDefinition.ActiveCircleRadius = designResult.StabilityDesignResults.ActiveCenterPointRadius; - } + X = designResult.StabilityDesignResults.ActiveCenterPoint.X, + Z = designResult.StabilityDesignResults.ActiveCenterPoint.Z + }; + dualSlipCircleDefinition.ActiveCircleRadius = designResult.StabilityDesignResults.ActiveCenterPointRadius; + } - if (designResult.StabilityDesignResults.PassiveCenterPoint != null) + if (designResult.StabilityDesignResults.PassiveCenterPoint != null) + { + dualSlipCircleDefinition.PassiveCircleCenter = new Point2DType { - dualSlipCircleDefinition.PassiveCircleCenter = new Point2DType - { - X = designResult.StabilityDesignResults.PassiveCenterPoint.X, - Z = designResult.StabilityDesignResults.PassiveCenterPoint.Z - }; - dualSlipCircleDefinition.PassiveCircleRadius = designResult.StabilityDesignResults.PassiveCenterPointRadius; - } + X = designResult.StabilityDesignResults.PassiveCenterPoint.X, + Z = designResult.StabilityDesignResults.PassiveCenterPoint.Z + }; + dualSlipCircleDefinition.PassiveCircleRadius = designResult.StabilityDesignResults.PassiveCenterPointRadius; + } - break; - } + break; + } - if (designResult.StabilityDesignResults.StabilityModelType == MStabModelType.Bishop || - designResult.StabilityDesignResults.StabilityModelType == MStabModelType.UpliftVan) + if (designResult.StabilityDesignResults.StabilityModelType == MStabModelType.Bishop || + designResult.StabilityDesignResults.StabilityModelType == MStabModelType.UpliftVan) + { + if (designResult.StabilityDesignResults.ResultSlices != null && + designResult.StabilityDesignResults.ResultSlices.Count > 0) { - if (designResult.StabilityDesignResults.ResultSlices != null && - designResult.StabilityDesignResults.ResultSlices.Count > 0) + desResult.StabilityDesignResults.SlipCircleDefinition.Slices = + new MinimumSafetyCurveBaseTypeSlice[designResult.StabilityDesignResults.ResultSlices.Count]; + var index = 0; + foreach (StabilityResultSlice slice in designResult.StabilityDesignResults.ResultSlices) { - desResult.StabilityDesignResults.SlipCircleDefinition.Slices = - new MinimumSafetyCurveBaseTypeSlice[designResult.StabilityDesignResults.ResultSlices.Count]; - var index = 0; - foreach (StabilityResultSlice slice in designResult.StabilityDesignResults.ResultSlices) + var resultSlice = new MinimumSafetyCurveBaseTypeSlice { - var resultSlice = new MinimumSafetyCurveBaseTypeSlice + TopLeftPoint = new Point2DType { - TopLeftPoint = new Point2DType + X = slice.TopLeftPoint.X, + Z = slice.TopLeftPoint.Z + }, + TopRightPoint = new Point2DType + { + X = slice.TopRightPoint.X, + Z = slice.TopRightPoint.Z + }, + BottomLeftPoint = + new Point2DType { - X = slice.TopLeftPoint.X, - Z = slice.TopLeftPoint.Z + X = slice.BottomLeftPoint.X, + Z = slice.BottomLeftPoint.Z }, - TopRightPoint = new Point2DType - { - X = slice.TopRightPoint.X, - Z = slice.TopRightPoint.Z - }, - BottomLeftPoint = - new Point2DType - { - X = slice.BottomLeftPoint.X, - Z = slice.BottomLeftPoint.Z - }, - BottomRightPoint = new Point2DType - { - X = slice.BottomRightPoint.X, - Z = slice.BottomRightPoint.Z - } - }; - desResult.StabilityDesignResults.SlipCircleDefinition.Slices[index] = resultSlice; - index++; - } + BottomRightPoint = new Point2DType + { + X = slice.BottomRightPoint.X, + Z = slice.BottomRightPoint.Z + } + }; + desResult.StabilityDesignResults.SlipCircleDefinition.Slices[index] = resultSlice; + index++; } } } + } - desResult.StabilityDesignResults.SafetyFactorSpecified = designResult.StabilityDesignResults.SafetyFactor.HasValue; - if (designResult.StabilityDesignResults.SafetyFactor.HasValue) - { - desResult.StabilityDesignResults.SafetyFactor = designResult.StabilityDesignResults.SafetyFactor.Value; - } + desResult.StabilityDesignResults.SafetyFactorSpecified = designResult.StabilityDesignResults.SafetyFactor.HasValue; + if (designResult.StabilityDesignResults.SafetyFactor.HasValue) + { + desResult.StabilityDesignResults.SafetyFactor = designResult.StabilityDesignResults.SafetyFactor.Value; + } - desResult.StabilityDesignResults.NumberOfIterationsSpecified = designResult.StabilityDesignResults.NumberOfIterations.HasValue; - if (designResult.StabilityDesignResults.NumberOfIterations.HasValue) - { - desResult.StabilityDesignResults.NumberOfIterations = designResult.StabilityDesignResults.NumberOfIterations.Value; - } + desResult.StabilityDesignResults.NumberOfIterationsSpecified = designResult.StabilityDesignResults.NumberOfIterations.HasValue; + if (designResult.StabilityDesignResults.NumberOfIterations.HasValue) + { + desResult.StabilityDesignResults.NumberOfIterations = designResult.StabilityDesignResults.NumberOfIterations.Value; + } - desResult.StabilityDesignResults.StabilityModelTypeSpecified = designResult.StabilityDesignResults.StabilityModelType.HasValue; - if (designResult.StabilityDesignResults.StabilityModelType.HasValue) - { - desResult.StabilityDesignResults.StabilityModelType = ConversionHelper.ConvertToOutputStabilityModelType(designResult.StabilityDesignResults.StabilityModelType.Value); - } + desResult.StabilityDesignResults.StabilityModelTypeSpecified = designResult.StabilityDesignResults.StabilityModelType.HasValue; + if (designResult.StabilityDesignResults.StabilityModelType.HasValue) + { + desResult.StabilityDesignResults.StabilityModelType = ConversionHelper.ConvertToOutputStabilityModelType(designResult.StabilityDesignResults.StabilityModelType.Value); } + } - private static void CreateLocationResultsOutput(DamProjectData damProjectData, Output output) + private static void CreateLocationResultsOutput(DamProjectData damProjectData, Output output) + { + // Calculation results (per location) + //output.Results.CalculationResults.LocationResults = new CalculationResultsLocationResult[damProjectData.LocationJobs.Count]; + if (damProjectData.OutputTimeSerieCollection != null) { - // Calculation results (per location) - //output.Results.CalculationResults.LocationResults = new CalculationResultsLocationResult[damProjectData.LocationJobs.Count]; - if (damProjectData.OutputTimeSerieCollection != null) - { - output.Results.OperationalOutputTimeSeries = new TimeSerie[damProjectData.OutputTimeSerieCollection.Series.Count]; - TransferOutputTimeSeries(damProjectData.OutputTimeSerieCollection, output.Results.OperationalOutputTimeSeries); - } + output.Results.OperationalOutputTimeSeries = new TimeSerie[damProjectData.OutputTimeSerieCollection.Series.Count]; + TransferOutputTimeSeries(damProjectData.OutputTimeSerieCollection, output.Results.OperationalOutputTimeSeries); } + } - private static void TransferOutputTimeSeries(TimeSerieCollection outputTimeSerieCollection, TimeSerie[] outputTimeSeries) + private static void TransferOutputTimeSeries(TimeSerieCollection outputTimeSerieCollection, TimeSerie[] outputTimeSeries) + { + var timeSerieIndex = 0; + foreach (Data.General.TimeSeries.TimeSerie damTimeSerie in outputTimeSerieCollection.Series) { - var timeSerieIndex = 0; - foreach (Data.General.TimeSeries.TimeSerie damTimeSerie in outputTimeSerieCollection.Series) + var outputTimeSerie = new TimeSerie(); + outputTimeSerie.Entries = new TimeSerieEntries(); + outputTimeSerie.Entries.TimeSerieEntry = new TimeSerieEntriesTimeSerieEntry[damTimeSerie.Entries.Count]; + outputTimeSerie.TimeStep = new TimeSerieTimeStep(); + outputTimeSerie.LocationId = damTimeSerie.LocationId; + outputTimeSerie.ParameterId = damTimeSerie.ParameterId; + outputTimeSerie.ForecastDateTime = damTimeSerie.ForecastDateTime; + outputTimeSerie.Type = damTimeSerie.Type; + outputTimeSerie.StartDateTime = damTimeSerie.StartDateTime; + outputTimeSerie.EndDateTime = damTimeSerie.EndDateTime; + outputTimeSerie.MissVal = damTimeSerie.MissVal; + outputTimeSerie.LongName = damTimeSerie.LongName; + outputTimeSerie.StationName = damTimeSerie.StationName; + outputTimeSerie.Units = damTimeSerie.Units; + outputTimeSerie.SourceOrganisation = damTimeSerie.SourceOrganisation; + outputTimeSerie.SourceSystem = damTimeSerie.SourceSystem; + outputTimeSerie.FileDescription = damTimeSerie.FileDescription; + outputTimeSerie.Region = damTimeSerie.Region; + outputTimeSerie.TimeStep.Multiplier = damTimeSerie.TimeStep.Multiplier; + outputTimeSerie.TimeStep.Divider = damTimeSerie.TimeStep.Divider; + outputTimeSerie.TimeStep.MultiplierSpecified1 = damTimeSerie.TimeStep.MultiplierSpecified; + outputTimeSerie.TimeStep.DividerSpecified1 = damTimeSerie.TimeStep.DividerSpecified; + outputTimeSerie.TimeStep.TimeStepUnit = ConversionHelper.ConvertToInputTimeStepUnit(damTimeSerie.TimeStep.Unit); + var timeSerieEntryIndex = 0; + foreach (TimeSerieEntry timestepEntry in damTimeSerie.Entries) { - var outputTimeSerie = new TimeSerie(); - outputTimeSerie.Entries = new TimeSerieEntries(); - outputTimeSerie.Entries.TimeSerieEntry = new TimeSerieEntriesTimeSerieEntry[damTimeSerie.Entries.Count]; - outputTimeSerie.TimeStep = new TimeSerieTimeStep(); - outputTimeSerie.LocationId = damTimeSerie.LocationId; - outputTimeSerie.ParameterId = damTimeSerie.ParameterId; - outputTimeSerie.ForecastDateTime = damTimeSerie.ForecastDateTime; - outputTimeSerie.Type = damTimeSerie.Type; - outputTimeSerie.StartDateTime = damTimeSerie.StartDateTime; - outputTimeSerie.EndDateTime = damTimeSerie.EndDateTime; - outputTimeSerie.MissVal = damTimeSerie.MissVal; - outputTimeSerie.LongName = damTimeSerie.LongName; - outputTimeSerie.StationName = damTimeSerie.StationName; - outputTimeSerie.Units = damTimeSerie.Units; - outputTimeSerie.SourceOrganisation = damTimeSerie.SourceOrganisation; - outputTimeSerie.SourceSystem = damTimeSerie.SourceSystem; - outputTimeSerie.FileDescription = damTimeSerie.FileDescription; - outputTimeSerie.Region = damTimeSerie.Region; - outputTimeSerie.TimeStep.Multiplier = damTimeSerie.TimeStep.Multiplier; - outputTimeSerie.TimeStep.Divider = damTimeSerie.TimeStep.Divider; - outputTimeSerie.TimeStep.MultiplierSpecified1 = damTimeSerie.TimeStep.MultiplierSpecified; - outputTimeSerie.TimeStep.DividerSpecified1 = damTimeSerie.TimeStep.DividerSpecified; - outputTimeSerie.TimeStep.TimeStepUnit = ConversionHelper.ConvertToInputTimeStepUnit(damTimeSerie.TimeStep.Unit); - var timeSerieEntryIndex = 0; - foreach (TimeSerieEntry timestepEntry in damTimeSerie.Entries) + TimeSerieEntriesTimeSerieEntryStochastValue stochastValue = null; + if (timestepEntry.StochastValue != null) { - TimeSerieEntriesTimeSerieEntryStochastValue stochastValue = null; - if (timestepEntry.StochastValue != null) + stochastValue = new TimeSerieEntriesTimeSerieEntryStochastValue { - stochastValue = new TimeSerieEntriesTimeSerieEntryStochastValue - { - Distribution = timestepEntry.StochastValue.Distribution, - Mean = timestepEntry.StochastValue.Mean, - StandardDeviation = timestepEntry.StochastValue.StandardDeviation - }; - } - - var timeStep = new TimeSerieEntriesTimeSerieEntry - { - DateTime = timestepEntry.DateTime, - Value = timestepEntry.Value, - BasisFileNameWMF = timestepEntry.BasisFileName, - Flagnietechtgebruikt = timestepEntry.Flag, - RelativeCalculationPathName = timestepEntry.RelativeCalculationPathName, - StochastValue = stochastValue + Distribution = timestepEntry.StochastValue.Distribution, + Mean = timestepEntry.StochastValue.Mean, + StandardDeviation = timestepEntry.StochastValue.StandardDeviation }; - outputTimeSerie.Entries.TimeSerieEntry[timeSerieEntryIndex] = timeStep; - timeSerieEntryIndex++; } - outputTimeSeries[timeSerieIndex] = outputTimeSerie; - timeSerieIndex++; + var timeStep = new TimeSerieEntriesTimeSerieEntry + { + DateTime = timestepEntry.DateTime, + Value = timestepEntry.Value, + BasisFileNameWMF = timestepEntry.BasisFileName, + Flagnietechtgebruikt = timestepEntry.Flag, + RelativeCalculationPathName = timestepEntry.RelativeCalculationPathName, + StochastValue = stochastValue + }; + outputTimeSerie.Entries.TimeSerieEntry[timeSerieEntryIndex] = timeStep; + timeSerieEntryIndex++; } + + outputTimeSeries[timeSerieIndex] = outputTimeSerie; + timeSerieIndex++; } } } \ No newline at end of file