Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlOutputFromDam.cs =================================================================== diff -u -r1175 -r1181 --- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlOutputFromDam.cs (.../FillXmlOutputFromDam.cs) (revision 1175) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlOutputFromDam.cs (.../FillXmlOutputFromDam.cs) (revision 1181) @@ -68,7 +68,7 @@ { // Design results var designResults = damProjectData.DesignCalculations; - if (designResults.Count > 0) + if (designResults != null && designResults.Count > 0) { output.Results.CalculationResults.DesignResults = new DesignResult[designResults.Count]; var designResultCount = 0; @@ -275,51 +275,54 @@ // RegionalScenarios results outputLocationResult.RegionalScenariosResult = new CalculationResultsLocationResultRegionalScenariosResult(); - outputLocationResult.RegionalScenariosResult.SafetyFactor = locationJob.LocationResult.RegionalScenariosResult.SafetyFactor; - outputLocationResult.RegionalScenariosResult.CalculationResult = ConversionHelper.ConvertToOutputCalculationResult(locationJob.LocationResult.RegionalScenariosResult.CalculationResult); - outputLocationResult.RegionalScenariosResult.RegionalScenarioResult = new RegionalScenarioResult[locationJob.LocationResult.RegionalScenariosResult.RegionalScenarioResults.Count]; - var scentel = 0; - foreach (var regionalScenarioResult in locationJob.LocationResult.RegionalScenariosResult.RegionalScenarioResults) + if (locationJob.LocationResult.RegionalScenariosResult != null) { - var outputRegionalScenarioResult = new RegionalScenarioResult(); - outputRegionalScenarioResult.LoadSituation = ConversionHelper.ConvertToOutputLoadSituation(regionalScenarioResult.LoadSituation); - outputRegionalScenarioResult.DikeDrySensitivity = ConversionHelper.ConvertToOutputDikeDrySensitivity(regionalScenarioResult.DikeDrySensitivity); - outputRegionalScenarioResult.HydraulicShortcutType = ConversionHelper.ConvertToOutputHydraulicShortcutType(regionalScenarioResult.HydraulicShortcutType); - outputRegionalScenarioResult.UpliftType = ConversionHelper.ConvertToOutputUpliftType(regionalScenarioResult.UpliftType); - outputRegionalScenarioResult.ModelOption = ConversionHelper.ConvertToOutputMStabModelType(regionalScenarioResult.ModelOption); - outputRegionalScenarioResult.ScenarioType = ConversionHelper.ConvertToOutputScenarioType(regionalScenarioResult.ScenarioType); - outputRegionalScenarioResult.CalculationResult = ConversionHelper.ConvertToOutputCalculationResult(regionalScenarioResult.CalculationResult); - outputRegionalScenarioResult.SafetyFactor = regionalScenarioResult.SafetyFactor; - outputRegionalScenarioResult.RegionalScenarioProfileResults = new RegionalScenarioResultRegionalScenarioProfileResult[regionalScenarioResult.RegionalScenarioProfileResults.Count]; - var proftel = 0; - foreach (var profileResult in regionalScenarioResult.RegionalScenarioProfileResults) + outputLocationResult.RegionalScenariosResult.SafetyFactor = locationJob.LocationResult.RegionalScenariosResult.SafetyFactor; + outputLocationResult.RegionalScenariosResult.CalculationResult = ConversionHelper.ConvertToOutputCalculationResult(locationJob.LocationResult.RegionalScenariosResult.CalculationResult); + outputLocationResult.RegionalScenariosResult.RegionalScenarioResult = new RegionalScenarioResult[locationJob.LocationResult.RegionalScenariosResult.RegionalScenarioResults.Count]; + var scentel = 0; + foreach (var regionalScenarioResult in locationJob.LocationResult.RegionalScenariosResult.RegionalScenarioResults) { - var outputProfileResult = new RegionalScenarioResultRegionalScenarioProfileResult(); - outputProfileResult.LocationName = profileResult.LocationName; - outputProfileResult.LoadSituation = ConversionHelper.ConvertToOutputLoadSituation(profileResult.LoadSituation); - outputProfileResult.DikeDrySensitivity = ConversionHelper.ConvertToOutputDikeDrySensitivity(profileResult.DikeDrySensitivity); - outputProfileResult.HydraulicShortcutType = ConversionHelper.ConvertToOutputHydraulicShortcutType(profileResult.HydraulicShortcutType); - outputProfileResult.UpliftType = ConversionHelper.ConvertToOutputUpliftType(profileResult.UpliftType); - outputProfileResult.MStabModelOption = ConversionHelper.ConvertToOutputMStabModelType(profileResult.MstabModelOption); - outputProfileResult.PipingModelOption = ConversionHelper.ConvertToOutputPipingModelType(profileResult.PipingModelOption); - outputProfileResult.ScenarioType = ConversionHelper.ConvertToOutputScenarioType(profileResult.ScenarioType); - outputProfileResult.SoilProfileName = profileResult.SoilProfileName; - outputProfileResult.SoilProfileProbability = profileResult.SoilProfileProbability; - outputProfileResult.FailureMechanismType = ConversionHelper.ConvertToInputFailureMechanismSystemType(profileResult.FailureMechanismType); - outputProfileResult.BaseFileName = profileResult.BaseFileName; - outputProfileResult.RegionalResult = new RegionalResult(); - outputProfileResult.RegionalResult.RegionalResultType = ConversionHelper.ConvertToOutputRegionalResultType(profileResult.RegionalResultType); - outputProfileResult.RegionalResult.SafetyFactor = profileResult.SafetyFactor; - outputProfileResult.RegionalResult.ProbabilityOfFailure = profileResult.ProbabilityOfFailure; - outputProfileResult.RegionalResult.CalculationResult = ConversionHelper.ConvertToOutputCalculationResult(profileResult.CalculationResult); - outputLocationResult.RegionalScenariosResult.RegionalScenarioResult[scentel].RegionalScenarioProfileResults[proftel] = outputProfileResult; - proftel++; + var outputRegionalScenarioResult = new RegionalScenarioResult(); + outputRegionalScenarioResult.LoadSituation = ConversionHelper.ConvertToOutputLoadSituation(regionalScenarioResult.LoadSituation); + outputRegionalScenarioResult.DikeDrySensitivity = ConversionHelper.ConvertToOutputDikeDrySensitivity(regionalScenarioResult.DikeDrySensitivity); + outputRegionalScenarioResult.HydraulicShortcutType = ConversionHelper.ConvertToOutputHydraulicShortcutType(regionalScenarioResult.HydraulicShortcutType); + outputRegionalScenarioResult.UpliftType = ConversionHelper.ConvertToOutputUpliftType(regionalScenarioResult.UpliftType); + outputRegionalScenarioResult.ModelOption = ConversionHelper.ConvertToOutputMStabModelType(regionalScenarioResult.ModelOption); + outputRegionalScenarioResult.ScenarioType = ConversionHelper.ConvertToOutputScenarioType(regionalScenarioResult.ScenarioType); + outputRegionalScenarioResult.CalculationResult = ConversionHelper.ConvertToOutputCalculationResult(regionalScenarioResult.CalculationResult); + outputRegionalScenarioResult.SafetyFactor = regionalScenarioResult.SafetyFactor; + outputRegionalScenarioResult.RegionalScenarioProfileResults = new RegionalScenarioResultRegionalScenarioProfileResult[regionalScenarioResult.RegionalScenarioProfileResults.Count]; + var proftel = 0; + foreach (var profileResult in regionalScenarioResult.RegionalScenarioProfileResults) + { + var outputProfileResult = new RegionalScenarioResultRegionalScenarioProfileResult(); + outputProfileResult.LocationName = profileResult.LocationName; + outputProfileResult.LoadSituation = ConversionHelper.ConvertToOutputLoadSituation(profileResult.LoadSituation); + outputProfileResult.DikeDrySensitivity = ConversionHelper.ConvertToOutputDikeDrySensitivity(profileResult.DikeDrySensitivity); + outputProfileResult.HydraulicShortcutType = ConversionHelper.ConvertToOutputHydraulicShortcutType(profileResult.HydraulicShortcutType); + outputProfileResult.UpliftType = ConversionHelper.ConvertToOutputUpliftType(profileResult.UpliftType); + outputProfileResult.MStabModelOption = ConversionHelper.ConvertToOutputMStabModelType(profileResult.MstabModelOption); + outputProfileResult.PipingModelOption = ConversionHelper.ConvertToOutputPipingModelType(profileResult.PipingModelOption); + outputProfileResult.ScenarioType = ConversionHelper.ConvertToOutputScenarioType(profileResult.ScenarioType); + outputProfileResult.SoilProfileName = profileResult.SoilProfileName; + outputProfileResult.SoilProfileProbability = profileResult.SoilProfileProbability; + outputProfileResult.FailureMechanismType = ConversionHelper.ConvertToInputFailureMechanismSystemType(profileResult.FailureMechanismType); + outputProfileResult.BaseFileName = profileResult.BaseFileName; + outputProfileResult.RegionalResult = new RegionalResult(); + outputProfileResult.RegionalResult.RegionalResultType = ConversionHelper.ConvertToOutputRegionalResultType(profileResult.RegionalResultType); + outputProfileResult.RegionalResult.SafetyFactor = profileResult.SafetyFactor; + outputProfileResult.RegionalResult.ProbabilityOfFailure = profileResult.ProbabilityOfFailure; + outputProfileResult.RegionalResult.CalculationResult = ConversionHelper.ConvertToOutputCalculationResult(profileResult.CalculationResult); + outputRegionalScenarioResult.RegionalScenarioProfileResults[proftel] = outputProfileResult; + proftel++; + } + outputLocationResult.RegionalScenariosResult.RegionalScenarioResult[scentel] = outputRegionalScenarioResult; + scentel++; } - outputLocationResult.RegionalScenariosResult.RegionalScenarioResult[scentel] = outputRegionalScenarioResult; - scentel++; + output.Results.CalculationResults.LocationResults[jobtel] = outputLocationResult; + jobtel++; } - output.Results.CalculationResults.LocationResults[jobtel] = outputLocationResult; - jobtel++; } } }