Index: DamClients/DamLive/trunk/src/Deltares.DamLive.Application/FillDomainFromXmlCalculationParameters.cs =================================================================== diff -u -r5844 -r6953 --- DamClients/DamLive/trunk/src/Deltares.DamLive.Application/FillDomainFromXmlCalculationParameters.cs (.../FillDomainFromXmlCalculationParameters.cs) (revision 5844) +++ DamClients/DamLive/trunk/src/Deltares.DamLive.Application/FillDomainFromXmlCalculationParameters.cs (.../FillDomainFromXmlCalculationParameters.cs) (revision 6953) @@ -27,60 +27,61 @@ public static class FillDomainFromXmlCalculationParameters { - public static CalculationParameters CreateCalculationParameters(XmlCalculationParameters xmlCalculationParameters) + public static DamFailureMechanismeCalculationSpecification CreateCalculationParameters(XmlCalculationParameters xmlCalculationParameters) { - var calculationParameters = new CalculationParameters(); + var calculationParameters = new DamFailureMechanismeCalculationSpecification(); TransferCalculationModules(xmlCalculationParameters.CalculationModules, calculationParameters); TransferStabilityParameters(xmlCalculationParameters.StabilityParameters, calculationParameters); return calculationParameters; } - private static void TransferCalculationModules(XmlCalculationParametersCalculationModules calculationModulesXml, CalculationParameters calculationParameters) + private static void TransferCalculationModules(XmlCalculationParametersCalculationModules calculationModulesXml, + DamFailureMechanismeCalculationSpecification calculationParameters) { - var calculationModules = new CalculationModules(); if (calculationModulesXml != null) { - if (calculationModulesXml.PipingWtiSpecified) + if (calculationModulesXml.PipingWtiSpecified && calculationModulesXml.PipingWti) { - calculationModules.PipingWti = calculationModulesXml.PipingWti; + // Note: set FailureMechanismSystemType first so that CalculationModel will be set correctly too. + calculationParameters.FailureMechanismSystemType = FailureMechanismSystemType.Piping; + calculationParameters.PipingModelType = PipingModelType.Wti2017; } - if (calculationModulesXml.PipingBlighSpecified) + if (calculationModulesXml.PipingBlighSpecified && calculationModulesXml.PipingBligh) { - calculationModules.PipingBligh = calculationModulesXml.PipingBligh; + // Note: set FailureMechanismSystemType first so that CalculationModel will be set correctly too. + calculationParameters.FailureMechanismSystemType = FailureMechanismSystemType.Piping; + calculationParameters.PipingModelType = PipingModelType.Bligh; } - if (calculationModulesXml.StabilityInsideSpecified) + if (calculationModulesXml.StabilityInsideSpecified && calculationModulesXml.StabilityInside) { - calculationModules.StabilityInside = calculationModulesXml.StabilityInside; + calculationParameters.FailureMechanismSystemType = FailureMechanismSystemType.StabilityInside; } - if (calculationModulesXml.StabilityOutsideSpecified) + if (calculationModulesXml.StabilityOutsideSpecified && calculationModulesXml.StabilityOutside) { - calculationModules.StabilityOutside = calculationModulesXml.StabilityOutside; + calculationParameters.FailureMechanismSystemType = FailureMechanismSystemType.StabilityOutside; } } - - calculationParameters.CalculationModules = calculationModules; } - private static void TransferStabilityParameters(XmlCalculationParametersStabilityParameters stabilityParametersXml, CalculationParameters calculationParameters) + private static void TransferStabilityParameters(XmlCalculationParametersStabilityParameters stabilityParametersXml, + DamFailureMechanismeCalculationSpecification calculationParameters) { - MStabParameters stabParameters = null; if (stabilityParametersXml.SearchMethodSpecified || stabilityParametersXml.CalculationModelSpecified) { - stabParameters = new MStabParameters(); - if (stabilityParametersXml.CalculationModelSpecified) + if (stabilityParametersXml.CalculationModelSpecified && + (calculationParameters.FailureMechanismSystemType == FailureMechanismSystemType.StabilityInside || + calculationParameters.FailureMechanismSystemType == FailureMechanismSystemType.StabilityOutside)) { - stabParameters.Model = XmlConversionHelper.ConvertToModelType(stabilityParametersXml.CalculationModel); + calculationParameters.CalculationModel = XmlConversionHelper.ConvertToModelType(stabilityParametersXml.CalculationModel); } if (stabilityParametersXml.SearchMethodSpecified) { - stabParameters.SearchMethod = XmlConversionHelper.ConvertToSearchMethod(stabilityParametersXml.SearchMethod); + calculationParameters.SearchMethod = XmlConversionHelper.ConvertToSearchMethod(stabilityParametersXml.SearchMethod); } } - - calculationParameters.StabilityParameters = stabParameters; } } \ No newline at end of file