Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlOutput.cs =================================================================== diff -u -r4000 -r4052 --- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlOutput.cs (.../FillDamFromXmlOutput.cs) (revision 4000) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillDamFromXmlOutput.cs (.../FillDamFromXmlOutput.cs) (revision 4052) @@ -31,403 +31,402 @@ using TimeSerie = Deltares.DamEngine.Io.XmlOutput.TimeSerie; using UpliftSituation = Deltares.DamEngine.Io.XmlOutput.UpliftSituation; -namespace Deltares.DamEngine.Interface +namespace Deltares.DamEngine.Interface; + +/// +/// Class to fill the results in DamProjectData based on the output xml (for test purposes only) +/// +public class FillDamFromXmlOutput { /// - /// Class to fill the results in DamProjectData based on the output xml (for test purposes only) + /// Creates the dam project data. /// - public class FillDamFromXmlOutput + /// + /// The output. + /// + public static DamProjectData CreateDamProjectData(DamProjectData damProjectData, Output output) { - /// - /// Creates the dam project data. - /// - /// - /// The output. - /// - public static DamProjectData CreateDamProjectData(DamProjectData damProjectData, Output output) + if (damProjectData == null) { - if (damProjectData == null) - { - damProjectData = new DamProjectData(); - } + damProjectData = new DamProjectData(); + } - //var damProjectData = new DamProjectData(); - if (output != null && output.Results != null && output.Results.CalculationResults != null) + //var damProjectData = new DamProjectData(); + if (output != null && output.Results != null && output.Results.CalculationResults != null) + { + if (output.Results.CalculationResults != null) { - if (output.Results.CalculationResults != null) - { - CreateDesignResultsOutput(output, damProjectData); - } + CreateDesignResultsOutput(output, damProjectData); } + } - if (output != null && output.Results != null && output.Results.OperationalOutputTimeSeries != null) - { - damProjectData.OutputTimeSerieCollection = new TimeSerieCollection(); - TransferOutputTimeSeries(output.Results.OperationalOutputTimeSeries, damProjectData.OutputTimeSerieCollection); - } - - return damProjectData; + if (output != null && output.Results != null && output.Results.OperationalOutputTimeSeries != null) + { + damProjectData.OutputTimeSerieCollection = new TimeSerieCollection(); + TransferOutputTimeSeries(output.Results.OperationalOutputTimeSeries, damProjectData.OutputTimeSerieCollection); } - private static void TransferOutputTimeSeries(TimeSerie[] outputTimeSeries, TimeSerieCollection outputTimeSerieCollection) + return damProjectData; + } + + private static void TransferOutputTimeSeries(TimeSerie[] outputTimeSeries, TimeSerieCollection outputTimeSerieCollection) + { + foreach (TimeSerie outputTimeSerie in outputTimeSeries) { - foreach (TimeSerie outputTimeSerie in outputTimeSeries) + Data.General.TimeSeries.TimeSerie timeSerie = outputTimeSerieCollection.AddNewSeries(outputTimeSerie.LocationId); + timeSerie.ParameterId = outputTimeSerie.ParameterId; + timeSerie.ForecastDateTime = outputTimeSerie.ForecastDateTime; + timeSerie.Type = outputTimeSerie.Type; + timeSerie.StartDateTime = outputTimeSerie.StartDateTime; + timeSerie.EndDateTime = outputTimeSerie.EndDateTime; + timeSerie.MissVal = outputTimeSerie.MissVal; + timeSerie.LongName = outputTimeSerie.LongName; + timeSerie.StationName = outputTimeSerie.StationName; + timeSerie.Units = outputTimeSerie.Units; + timeSerie.SourceOrganisation = outputTimeSerie.SourceOrganisation; + timeSerie.SourceSystem = outputTimeSerie.SourceSystem; + timeSerie.FileDescription = outputTimeSerie.FileDescription; + timeSerie.Region = outputTimeSerie.Region; + timeSerie.TimeStep.Multiplier = outputTimeSerie.TimeStep.Multiplier; + timeSerie.TimeStep.Divider = outputTimeSerie.TimeStep.Divider; + timeSerie.TimeStep.MultiplierSpecified = outputTimeSerie.TimeStep.MultiplierSpecified1; + timeSerie.TimeStep.DividerSpecified = outputTimeSerie.TimeStep.DividerSpecified1; + timeSerie.TimeStep.Unit = ConversionHelper.ConvertToTimeStepUnit(outputTimeSerie.TimeStep.TimeStepUnit); + for (var i = 0; i < outputTimeSerie.Entries.TimeSerieEntry.Length; i++) { - Data.General.TimeSeries.TimeSerie timeSerie = outputTimeSerieCollection.AddNewSeries(outputTimeSerie.LocationId); - timeSerie.ParameterId = outputTimeSerie.ParameterId; - timeSerie.ForecastDateTime = outputTimeSerie.ForecastDateTime; - timeSerie.Type = outputTimeSerie.Type; - timeSerie.StartDateTime = outputTimeSerie.StartDateTime; - timeSerie.EndDateTime = outputTimeSerie.EndDateTime; - timeSerie.MissVal = outputTimeSerie.MissVal; - timeSerie.LongName = outputTimeSerie.LongName; - timeSerie.StationName = outputTimeSerie.StationName; - timeSerie.Units = outputTimeSerie.Units; - timeSerie.SourceOrganisation = outputTimeSerie.SourceOrganisation; - timeSerie.SourceSystem = outputTimeSerie.SourceSystem; - timeSerie.FileDescription = outputTimeSerie.FileDescription; - timeSerie.Region = outputTimeSerie.Region; - timeSerie.TimeStep.Multiplier = outputTimeSerie.TimeStep.Multiplier; - timeSerie.TimeStep.Divider = outputTimeSerie.TimeStep.Divider; - timeSerie.TimeStep.MultiplierSpecified = outputTimeSerie.TimeStep.MultiplierSpecified1; - timeSerie.TimeStep.DividerSpecified = outputTimeSerie.TimeStep.DividerSpecified1; - timeSerie.TimeStep.Unit = ConversionHelper.ConvertToTimeStepUnit(outputTimeSerie.TimeStep.TimeStepUnit); - for (var i = 0; i < outputTimeSerie.Entries.TimeSerieEntry.Length; i++) + TimeSerieEntriesTimeSerieEntry entry = outputTimeSerie.Entries.TimeSerieEntry[i]; + Stochast stochastValue = null; + if (entry.StochastValue != null) { - TimeSerieEntriesTimeSerieEntry entry = outputTimeSerie.Entries.TimeSerieEntry[i]; - Stochast stochastValue = null; - if (entry.StochastValue != null) + stochastValue = new Stochast { - stochastValue = new Stochast - { - Distribution = entry.StochastValue.Distribution, - Mean = entry.StochastValue.Mean, - StandardDeviation = entry.StochastValue.StandardDeviation - }; - } - - var timeSerieEntry = new TimeSerieEntry - { - DateTime = entry.DateTime, - Value = entry.Value, - BasisFileName = entry.BasisFileNameWMF, - Flag = entry.Flagnietechtgebruikt, - RelativeCalculationPathName = entry.RelativeCalculationPathName, - StochastValue = stochastValue + Distribution = entry.StochastValue.Distribution, + Mean = entry.StochastValue.Mean, + StandardDeviation = entry.StochastValue.StandardDeviation }; - timeSerie.Entries.Add(timeSerieEntry); } - } - } - private static void CreateDesignResultsOutput(Output output, DamProjectData damProjectData) - { - // Design results - damProjectData.DesignCalculations = new List(); - for (var i = 0; i < output.Results.CalculationResults.Length; i++) - { - DesignResult designResult = output.Results.CalculationResults[i]; - var desResult = new Data.General.Results.DesignResult(designResult.LocationName, designResult.ScenarioName) + var timeSerieEntry = new TimeSerieEntry { - BaseFileName = designResult.BaseFileName, - CalculationSubDir = designResult.CalculationSubDir, - ProfileName = designResult.ProfileName, - CalculationResult = ConversionHelper.ConvertToCalculationResult(designResult.CalculationResult) + DateTime = entry.DateTime, + Value = entry.Value, + BasisFileName = entry.BasisFileNameWMF, + Flag = entry.Flagnietechtgebruikt, + RelativeCalculationPathName = entry.RelativeCalculationPathName, + StochastValue = stochastValue }; - - if (designResult.PipingDesignResults != null) - { - CreateDesignResultsPipingOutput(designResult, desResult); - } - - if (designResult.StabilityDesignResults != null) - { - CreateDesignResultsStabilityOutput(designResult, desResult); - } - - damProjectData.DesignCalculations.Add(desResult); + timeSerie.Entries.Add(timeSerieEntry); } - - if (output.Results.CalculationMessages != null) - { - damProjectData.CalculationMessages = new List(); - for (var i = 0; i < output.Results.CalculationMessages.Length; i++) - { - Message validationResult = output.Results.CalculationMessages[i]; - var logMessage = new LogMessage - { - MessageType = ConversionHelper.ConvertToLogMessageType(validationResult.MessageType), - Subject = null, - Message = validationResult.Message1 - }; - damProjectData.CalculationMessages.Add(logMessage); - } - } } + } - private static void CreateDesignResultsPipingOutput(DesignResult designResult, Data.General.Results.DesignResult desResult) + private static void CreateDesignResultsOutput(Output output, DamProjectData damProjectData) + { + // Design results + damProjectData.DesignCalculations = new List(); + for (var i = 0; i < output.Results.CalculationResults.Length; i++) { - var model = PipingModelType.Bligh; - if (designResult.PipingDesignResults.Sellmeijer4ForcesFactorSpecified) + DesignResult designResult = output.Results.CalculationResults[i]; + var desResult = new Data.General.Results.DesignResult(designResult.LocationName, designResult.ScenarioName) { - model = PipingModelType.Sellmeijer4Forces; - } + BaseFileName = designResult.BaseFileName, + CalculationSubDir = designResult.CalculationSubDir, + ProfileName = designResult.ProfileName, + CalculationResult = ConversionHelper.ConvertToCalculationResult(designResult.CalculationResult) + }; - if (designResult.PipingDesignResults.SellmeijerVnkFactorSpecified) + if (designResult.PipingDesignResults != null) { - model = PipingModelType.SellmeijerVnk; + CreateDesignResultsPipingOutput(designResult, desResult); } - if (designResult.PipingDesignResults.Wti2017BackwardErosionFactorSpecified) + if (designResult.StabilityDesignResults != null) { - model = PipingModelType.Wti2017; + CreateDesignResultsStabilityOutput(designResult, desResult); } - desResult.PipingDesignResults = new PipingDesignResults(model) + damProjectData.DesignCalculations.Add(desResult); + } + + if (output.Results.CalculationMessages != null) + { + damProjectData.CalculationMessages = new List(); + for (var i = 0; i < output.Results.CalculationMessages.Length; i++) { - ResultMessage = designResult.PipingDesignResults.ResultMessage - }; - if (designResult.PipingDesignResults.RedesignedSurfaceLine != null) - { - desResult.PipingDesignResults.RedesignedSurfaceLine = new SurfaceLine2 + Message validationResult = output.Results.CalculationMessages[i]; + var logMessage = new LogMessage { - Name = designResult.PipingDesignResults.RedesignedSurfaceLine.Name + MessageType = ConversionHelper.ConvertToLogMessageType(validationResult.MessageType), + Subject = null, + Message = validationResult.Message1 }; - desResult.PipingDesignResults.RedesignedSurfaceLine.CharacteristicPoints.Geometry = desResult.PipingDesignResults.RedesignedSurfaceLine.Geometry; - AddPointsToSurfaceLine(designResult.PipingDesignResults.RedesignedSurfaceLine, desResult.PipingDesignResults.RedesignedSurfaceLine); + damProjectData.CalculationMessages.Add(logMessage); } + } + } - if (designResult.PipingDesignResults.UpliftFactorSpecified) - { - desResult.PipingDesignResults.UpliftFactor = designResult.PipingDesignResults.UpliftFactor; - } + private static void CreateDesignResultsPipingOutput(DesignResult designResult, Data.General.Results.DesignResult desResult) + { + var model = PipingModelType.Bligh; + if (designResult.PipingDesignResults.Sellmeijer4ForcesFactorSpecified) + { + model = PipingModelType.Sellmeijer4Forces; + } - if (designResult.PipingDesignResults.HeaveFactorSpecified) - { - desResult.PipingDesignResults.HeaveFactor = designResult.PipingDesignResults.HeaveFactor; - } + if (designResult.PipingDesignResults.SellmeijerVnkFactorSpecified) + { + model = PipingModelType.SellmeijerVnk; + } - if (designResult.PipingDesignResults.BlighFactorSpecified) - { - desResult.PipingDesignResults.BlighFactor = designResult.PipingDesignResults.BlighFactor; - } + if (designResult.PipingDesignResults.Wti2017BackwardErosionFactorSpecified) + { + model = PipingModelType.Wti2017; + } - if (designResult.PipingDesignResults.BlighHcriticalSpecified) + desResult.PipingDesignResults = new PipingDesignResults(model) + { + ResultMessage = designResult.PipingDesignResults.ResultMessage + }; + if (designResult.PipingDesignResults.RedesignedSurfaceLine != null) + { + desResult.PipingDesignResults.RedesignedSurfaceLine = new SurfaceLine2 { - desResult.PipingDesignResults.BlighHcritical = designResult.PipingDesignResults.BlighHcritical; - } + Name = designResult.PipingDesignResults.RedesignedSurfaceLine.Name + }; + desResult.PipingDesignResults.RedesignedSurfaceLine.CharacteristicPoints.Geometry = desResult.PipingDesignResults.RedesignedSurfaceLine.Geometry; + AddPointsToSurfaceLine(designResult.PipingDesignResults.RedesignedSurfaceLine, desResult.PipingDesignResults.RedesignedSurfaceLine); + } - if (designResult.PipingDesignResults.Sellmeijer4ForcesFactorSpecified) - { - desResult.PipingDesignResults.Sellmeijer4ForcesFactor = designResult.PipingDesignResults.Sellmeijer4ForcesFactor; - } + if (designResult.PipingDesignResults.UpliftFactorSpecified) + { + desResult.PipingDesignResults.UpliftFactor = designResult.PipingDesignResults.UpliftFactor; + } - if (designResult.PipingDesignResults.Sellmeijer4ForcesHcriticalSpecified) - { - desResult.PipingDesignResults.Sellmeijer4ForcesHcritical = designResult.PipingDesignResults.Sellmeijer4ForcesHcritical; - } + if (designResult.PipingDesignResults.HeaveFactorSpecified) + { + desResult.PipingDesignResults.HeaveFactor = designResult.PipingDesignResults.HeaveFactor; + } - if (designResult.PipingDesignResults.SellmeijerVnkFactorSpecified) - { - desResult.PipingDesignResults.SellmeijerVnkFactor = designResult.PipingDesignResults.SellmeijerVnkFactor; - } + if (designResult.PipingDesignResults.BlighFactorSpecified) + { + desResult.PipingDesignResults.BlighFactor = designResult.PipingDesignResults.BlighFactor; + } - if (designResult.PipingDesignResults.SellmeijerVnkHcriticalSpecified) - { - desResult.PipingDesignResults.SellmeijerVnkHcritical = designResult.PipingDesignResults.SellmeijerVnkHcritical; - } + if (designResult.PipingDesignResults.BlighHcriticalSpecified) + { + desResult.PipingDesignResults.BlighHcritical = designResult.PipingDesignResults.BlighHcritical; + } - if (designResult.PipingDesignResults.Wti2017BackwardErosionFactorSpecified) - { - desResult.PipingDesignResults.Wti2017BackwardErosionSafetyFactor = designResult.PipingDesignResults.Wti2017BackwardErosionFactor; - } + if (designResult.PipingDesignResults.Sellmeijer4ForcesFactorSpecified) + { + desResult.PipingDesignResults.Sellmeijer4ForcesFactor = designResult.PipingDesignResults.Sellmeijer4ForcesFactor; + } - if (designResult.PipingDesignResults.Wti2017BackwardErosionHcriticalSpecified) - { - desResult.PipingDesignResults.Wti2017BackwardErosionHcritical = designResult.PipingDesignResults.Wti2017BackwardErosionHcritical; - } + if (designResult.PipingDesignResults.Sellmeijer4ForcesHcriticalSpecified) + { + desResult.PipingDesignResults.Sellmeijer4ForcesHcritical = designResult.PipingDesignResults.Sellmeijer4ForcesHcritical; + } - if (designResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiCSpecified) - { - desResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiC = designResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiC; - } + if (designResult.PipingDesignResults.SellmeijerVnkFactorSpecified) + { + desResult.PipingDesignResults.SellmeijerVnkFactor = designResult.PipingDesignResults.SellmeijerVnkFactor; + } - if (designResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiReducedSpecified) - { - desResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiReduced = designResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiReduced; - } + if (designResult.PipingDesignResults.SellmeijerVnkHcriticalSpecified) + { + desResult.PipingDesignResults.SellmeijerVnkHcritical = designResult.PipingDesignResults.SellmeijerVnkHcritical; + } - if (designResult.PipingDesignResults.Wti2017UpliftFactorSpecified) - { - desResult.PipingDesignResults.Wti2017UpliftSafetyFactor = designResult.PipingDesignResults.Wti2017UpliftFactor; - } + if (designResult.PipingDesignResults.Wti2017BackwardErosionFactorSpecified) + { + desResult.PipingDesignResults.Wti2017BackwardErosionSafetyFactor = designResult.PipingDesignResults.Wti2017BackwardErosionFactor; + } - if (designResult.PipingDesignResults.Wti2017UpliftHcriticalSpecified) - { - desResult.PipingDesignResults.Wti2017UpliftHcritical = designResult.PipingDesignResults.Wti2017UpliftHcritical; - } + if (designResult.PipingDesignResults.Wti2017BackwardErosionHcriticalSpecified) + { + desResult.PipingDesignResults.Wti2017BackwardErosionHcritical = designResult.PipingDesignResults.Wti2017BackwardErosionHcritical; + } - if (designResult.PipingDesignResults.Wti2017DeltaPhiCuSpecified) - { - desResult.PipingDesignResults.Wti2017UpliftDeltaPhiC = designResult.PipingDesignResults.Wti2017DeltaPhiCu; - } + if (designResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiCSpecified) + { + desResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiC = designResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiC; + } - if (designResult.PipingDesignResults.Wti2017HeaveFactorSpecified) - { - desResult.PipingDesignResults.Wti2017HeaveSafetyFactor = designResult.PipingDesignResults.Wti2017HeaveFactor; - } + if (designResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiReducedSpecified) + { + desResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiReduced = designResult.PipingDesignResults.Wti2017BackwardErosionDeltaPhiReduced; + } - if (designResult.PipingDesignResults.Wti2017HeaveHcriticalSpecified) - { - desResult.PipingDesignResults.Wti2017HeaveHcritical = designResult.PipingDesignResults.Wti2017HeaveHcritical; - } + if (designResult.PipingDesignResults.Wti2017UpliftFactorSpecified) + { + desResult.PipingDesignResults.Wti2017UpliftSafetyFactor = designResult.PipingDesignResults.Wti2017UpliftFactor; + } - if (designResult.PipingDesignResults.Wti2017GradientSpecified) - { - desResult.PipingDesignResults.Wti2017Gradient = designResult.PipingDesignResults.Wti2017Gradient; - } + if (designResult.PipingDesignResults.Wti2017UpliftHcriticalSpecified) + { + desResult.PipingDesignResults.Wti2017UpliftHcritical = designResult.PipingDesignResults.Wti2017UpliftHcritical; + } - if (designResult.PipingDesignResults.Wti2017FactorOverallSpecified) - { - desResult.PipingDesignResults.Wti2017SafetyFactorOverall = designResult.PipingDesignResults.Wti2017FactorOverall; - } + if (designResult.PipingDesignResults.Wti2017DeltaPhiCuSpecified) + { + desResult.PipingDesignResults.Wti2017UpliftDeltaPhiC = designResult.PipingDesignResults.Wti2017DeltaPhiCu; + } - if (designResult.PipingDesignResults.Wti2017HcriticalOverallSpecified) - { - desResult.PipingDesignResults.Wti2017HcriticalOverall = designResult.PipingDesignResults.Wti2017HcriticalOverall; - } + if (designResult.PipingDesignResults.Wti2017HeaveFactorSpecified) + { + desResult.PipingDesignResults.Wti2017HeaveSafetyFactor = designResult.PipingDesignResults.Wti2017HeaveFactor; + } - if (designResult.PipingDesignResults.ExitPointXSpecified) - { - desResult.PipingDesignResults.LocalExitPointX = designResult.PipingDesignResults.ExitPointX; - } + if (designResult.PipingDesignResults.Wti2017HeaveHcriticalSpecified) + { + desResult.PipingDesignResults.Wti2017HeaveHcritical = designResult.PipingDesignResults.Wti2017HeaveHcritical; + } - if (designResult.PipingDesignResults.Wti2017EffectiveStressSpecified) - { - desResult.PipingDesignResults.EffectiveStress = designResult.PipingDesignResults.Wti2017EffectiveStress; - } + if (designResult.PipingDesignResults.Wti2017GradientSpecified) + { + desResult.PipingDesignResults.Wti2017Gradient = designResult.PipingDesignResults.Wti2017Gradient; + } - if (designResult.PipingDesignResults.Wti2017CCreepSpecified) - { - desResult.PipingDesignResults.CCreep = designResult.PipingDesignResults.Wti2017CCreep; - } + if (designResult.PipingDesignResults.Wti2017FactorOverallSpecified) + { + desResult.PipingDesignResults.Wti2017SafetyFactorOverall = designResult.PipingDesignResults.Wti2017FactorOverall; + } - if (designResult.PipingDesignResults.UpliftSituation != null) - { - UpliftSituation uplift = designResult.PipingDesignResults.UpliftSituation; - var situation = new Data.General.UpliftSituation - { - IsUplift = uplift.IsUplift, - Pl3MinUplift = uplift.Pl3MinUplift, - Pl3HeadAdjusted = uplift.Pl3HeadAdjusted, - Pl3LocationXMinUplift = uplift.Pl3LocationXMinUplift, - Pl4MinUplift = uplift.Pl4MinUplift, - Pl4HeadAdjusted = uplift.Pl4HeadAdjusted, - Pl4LocationXMinUplift = uplift.Pl4LocationXMinUplift - }; - desResult.PipingDesignResults.UpliftSituation = situation; - } + if (designResult.PipingDesignResults.Wti2017HcriticalOverallSpecified) + { + desResult.PipingDesignResults.Wti2017HcriticalOverall = designResult.PipingDesignResults.Wti2017HcriticalOverall; } - private static void AddPointsToSurfaceLine(SurfaceLine inputSurfaceLine, SurfaceLine2 surfaceLine) + if (designResult.PipingDesignResults.ExitPointXSpecified) { - surfaceLine.Geometry = new GeometryPointString(); - for (var j = 0; j < inputSurfaceLine.Points.Length; j++) - { - SurfaceLinePoint inputPoint = inputSurfaceLine.Points[j]; - var geometryPoint = new GeometryPoint - { - X = inputPoint.X, - Y = 0.0, - Z = inputPoint.Z - }; - surfaceLine.AddCharacteristicPoint(geometryPoint, ConversionHelper.ConvertToDamPointType(inputPoint.PointType)); - } + desResult.PipingDesignResults.LocalExitPointX = designResult.PipingDesignResults.ExitPointX; } - private static void CreateDesignResultsStabilityOutput(DesignResult designResult, Data.General.Results.DesignResult desResult) + if (designResult.PipingDesignResults.Wti2017EffectiveStressSpecified) { - desResult.StabilityDesignResults = new StabilityDesignResults + desResult.PipingDesignResults.EffectiveStress = designResult.PipingDesignResults.Wti2017EffectiveStress; + } + + if (designResult.PipingDesignResults.Wti2017CCreepSpecified) + { + desResult.PipingDesignResults.CCreep = designResult.PipingDesignResults.Wti2017CCreep; + } + + if (designResult.PipingDesignResults.UpliftSituation != null) + { + UpliftSituation uplift = designResult.PipingDesignResults.UpliftSituation; + var situation = new Data.General.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.RedesignedSurfaceLine != null) - { - desResult.StabilityDesignResults.RedesignedSurfaceLine = new SurfaceLine2 - { - Name = designResult.StabilityDesignResults.RedesignedSurfaceLine.Name - }; - desResult.StabilityDesignResults.RedesignedSurfaceLine.CharacteristicPoints.Geometry = desResult.StabilityDesignResults.RedesignedSurfaceLine.Geometry; - AddPointsToSurfaceLine(designResult.StabilityDesignResults.RedesignedSurfaceLine, desResult.StabilityDesignResults.RedesignedSurfaceLine); - } + desResult.PipingDesignResults.UpliftSituation = situation; + } + } - if (designResult.StabilityDesignResults.SafetyFactorSpecified) + private static void AddPointsToSurfaceLine(SurfaceLine inputSurfaceLine, SurfaceLine2 surfaceLine) + { + surfaceLine.Geometry = new GeometryPointString(); + for (var j = 0; j < inputSurfaceLine.Points.Length; j++) + { + SurfaceLinePoint inputPoint = inputSurfaceLine.Points[j]; + var geometryPoint = new GeometryPoint { - desResult.StabilityDesignResults.SafetyFactor = designResult.StabilityDesignResults.SafetyFactor; - } + X = inputPoint.X, + Y = 0.0, + Z = inputPoint.Z + }; + surfaceLine.AddCharacteristicPoint(geometryPoint, ConversionHelper.ConvertToDamPointType(inputPoint.PointType)); + } + } - if (designResult.StabilityDesignResults.NumberOfIterationsSpecified) + private static void CreateDesignResultsStabilityOutput(DesignResult designResult, Data.General.Results.DesignResult desResult) + { + desResult.StabilityDesignResults = new StabilityDesignResults + { + ResultMessage = designResult.StabilityDesignResults.ResultMessage + }; + if (designResult.StabilityDesignResults.RedesignedSurfaceLine != null) + { + desResult.StabilityDesignResults.RedesignedSurfaceLine = new SurfaceLine2 { - desResult.StabilityDesignResults.NumberOfIterations = designResult.StabilityDesignResults.NumberOfIterations; - } + Name = designResult.StabilityDesignResults.RedesignedSurfaceLine.Name + }; + desResult.StabilityDesignResults.RedesignedSurfaceLine.CharacteristicPoints.Geometry = desResult.StabilityDesignResults.RedesignedSurfaceLine.Geometry; + AddPointsToSurfaceLine(designResult.StabilityDesignResults.RedesignedSurfaceLine, desResult.StabilityDesignResults.RedesignedSurfaceLine); + } - if (designResult.StabilityDesignResults.UpliftSituation != null) + if (designResult.StabilityDesignResults.SafetyFactorSpecified) + { + desResult.StabilityDesignResults.SafetyFactor = designResult.StabilityDesignResults.SafetyFactor; + } + + if (designResult.StabilityDesignResults.NumberOfIterationsSpecified) + { + desResult.StabilityDesignResults.NumberOfIterations = designResult.StabilityDesignResults.NumberOfIterations; + } + + if (designResult.StabilityDesignResults.UpliftSituation != null) + { + UpliftSituation uplift = designResult.StabilityDesignResults.UpliftSituation; + var situation = new Data.General.UpliftSituation { - UpliftSituation uplift = designResult.StabilityDesignResults.UpliftSituation; - var situation = new Data.General.UpliftSituation - { - IsUplift = uplift.IsUplift, - Pl3MinUplift = uplift.Pl3MinUplift, - Pl3HeadAdjusted = uplift.Pl3HeadAdjusted, - Pl3LocationXMinUplift = uplift.Pl3LocationXMinUplift, - Pl4MinUplift = uplift.Pl4MinUplift, - Pl4HeadAdjusted = uplift.Pl4HeadAdjusted, - Pl4LocationXMinUplift = uplift.Pl4LocationXMinUplift - }; - desResult.StabilityDesignResults.UpliftSituation = situation; - } + IsUplift = uplift.IsUplift, + Pl3MinUplift = uplift.Pl3MinUplift, + Pl3HeadAdjusted = uplift.Pl3HeadAdjusted, + Pl3LocationXMinUplift = uplift.Pl3LocationXMinUplift, + Pl4MinUplift = uplift.Pl4MinUplift, + Pl4HeadAdjusted = uplift.Pl4HeadAdjusted, + Pl4LocationXMinUplift = uplift.Pl4LocationXMinUplift + }; + desResult.StabilityDesignResults.UpliftSituation = situation; + } - if (designResult.StabilityDesignResults.StabilityModelTypeSpecified) + if (designResult.StabilityDesignResults.StabilityModelTypeSpecified) + { + desResult.StabilityDesignResults.StabilityModelType = ConversionHelper.ConvertToStabilityModelType(designResult.StabilityDesignResults.StabilityModelType); + } + + if (designResult.StabilityDesignResults.SlipCircleDefinition != null) + { + switch (designResult.StabilityDesignResults.StabilityModelType) { - desResult.StabilityDesignResults.StabilityModelType = ConversionHelper.ConvertToStabilityModelType(designResult.StabilityDesignResults.StabilityModelType); + case DesignResultStabilityDesignResultsStabilityModelType.Bishop: + var singleSlipCircleDefinition = (SlidingCircleMinimumSafetyCurveType) designResult.StabilityDesignResults.SlipCircleDefinition; + desResult.StabilityDesignResults.ActiveCenterPoint = new Point2D(singleSlipCircleDefinition.Center.X, singleSlipCircleDefinition.Center.Z); + desResult.StabilityDesignResults.ActiveCenterPointRadius = singleSlipCircleDefinition.Radius; + break; + case DesignResultStabilityDesignResultsStabilityModelType.UpliftVan: + var dualSlipCircleDefinition = (DualSlidingCircleMinimumSafetyCurveType) designResult.StabilityDesignResults.SlipCircleDefinition; + desResult.StabilityDesignResults.ActiveCenterPoint = new Point2D(dualSlipCircleDefinition.ActiveCircleCenter.X, dualSlipCircleDefinition.ActiveCircleCenter.Z); + desResult.StabilityDesignResults.ActiveCenterPointRadius = dualSlipCircleDefinition.ActiveCircleRadius; + desResult.StabilityDesignResults.PassiveCenterPoint = new Point2D(dualSlipCircleDefinition.PassiveCircleCenter.X, dualSlipCircleDefinition.PassiveCircleCenter.Z); + desResult.StabilityDesignResults.PassiveCenterPointRadius = dualSlipCircleDefinition.PassiveCircleRadius; + break; } - if (designResult.StabilityDesignResults.SlipCircleDefinition != null) + if (designResult.StabilityDesignResults.StabilityModelType == + DesignResultStabilityDesignResultsStabilityModelType.Bishop || + designResult.StabilityDesignResults.StabilityModelType == + DesignResultStabilityDesignResultsStabilityModelType.UpliftVan) { - switch (designResult.StabilityDesignResults.StabilityModelType) + if (designResult.StabilityDesignResults.SlipCircleDefinition.Slices != null) { - case DesignResultStabilityDesignResultsStabilityModelType.Bishop: - var singleSlipCircleDefinition = (SlidingCircleMinimumSafetyCurveType) designResult.StabilityDesignResults.SlipCircleDefinition; - desResult.StabilityDesignResults.ActiveCenterPoint = new Point2D(singleSlipCircleDefinition.Center.X, singleSlipCircleDefinition.Center.Z); - desResult.StabilityDesignResults.ActiveCenterPointRadius = singleSlipCircleDefinition.Radius; - break; - case DesignResultStabilityDesignResultsStabilityModelType.UpliftVan: - var dualSlipCircleDefinition = (DualSlidingCircleMinimumSafetyCurveType) designResult.StabilityDesignResults.SlipCircleDefinition; - desResult.StabilityDesignResults.ActiveCenterPoint = new Point2D(dualSlipCircleDefinition.ActiveCircleCenter.X, dualSlipCircleDefinition.ActiveCircleCenter.Z); - desResult.StabilityDesignResults.ActiveCenterPointRadius = dualSlipCircleDefinition.ActiveCircleRadius; - desResult.StabilityDesignResults.PassiveCenterPoint = new Point2D(dualSlipCircleDefinition.PassiveCircleCenter.X, dualSlipCircleDefinition.PassiveCircleCenter.Z); - desResult.StabilityDesignResults.PassiveCenterPointRadius = dualSlipCircleDefinition.PassiveCircleRadius; - break; - } - - if (designResult.StabilityDesignResults.StabilityModelType == - DesignResultStabilityDesignResultsStabilityModelType.Bishop || - designResult.StabilityDesignResults.StabilityModelType == - DesignResultStabilityDesignResultsStabilityModelType.UpliftVan) - { - if (designResult.StabilityDesignResults.SlipCircleDefinition.Slices != null) + desResult.StabilityDesignResults.ResultSlices = new List(); + foreach (MinimumSafetyCurveBaseTypeSlice slice in designResult.StabilityDesignResults.SlipCircleDefinition.Slices) { - desResult.StabilityDesignResults.ResultSlices = new List(); - foreach (MinimumSafetyCurveBaseTypeSlice slice in designResult.StabilityDesignResults.SlipCircleDefinition.Slices) - { - var resultSlice = new StabilityResultSlice(); - resultSlice.TopLeftPoint = new Point2D(slice.TopLeftPoint.X, slice.TopLeftPoint.Z); - resultSlice.TopRightPoint = new Point2D(slice.TopRightPoint.X, slice.TopRightPoint.Z); - resultSlice.BottomLeftPoint = new Point2D(slice.BottomLeftPoint.X, slice.BottomLeftPoint.Z); - resultSlice.BottomRightPoint = - new Point2D(slice.BottomRightPoint.X, slice.BottomRightPoint.Z); - desResult.StabilityDesignResults.ResultSlices.Add(resultSlice); - } + var resultSlice = new StabilityResultSlice(); + resultSlice.TopLeftPoint = new Point2D(slice.TopLeftPoint.X, slice.TopLeftPoint.Z); + resultSlice.TopRightPoint = new Point2D(slice.TopRightPoint.X, slice.TopRightPoint.Z); + resultSlice.BottomLeftPoint = new Point2D(slice.BottomLeftPoint.X, slice.BottomLeftPoint.Z); + resultSlice.BottomRightPoint = + new Point2D(slice.BottomRightPoint.X, slice.BottomRightPoint.Z); + desResult.StabilityDesignResults.ResultSlices.Add(resultSlice); } } }