Index: DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlOutputFromDam.cs =================================================================== diff -u -r1013 -r1119 --- DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlOutputFromDam.cs (.../FillXmlOutputFromDam.cs) (revision 1013) +++ DamEngine/trunk/src/Deltares.DamEngine.Interface/FillXmlOutputFromDam.cs (.../FillXmlOutputFromDam.cs) (revision 1119) @@ -19,7 +19,6 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. -using System; using Deltares.DamEngine.Data.General; using Deltares.DamEngine.Io.XmlOutput; @@ -61,88 +60,7 @@ output.Results.CalculationResults = new CalculationResults(); 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++; - // } + CreateLocationResultsOutput(damProjectData, output); return output; } @@ -335,5 +253,91 @@ desResult.StabilityDesignResults.NumberOfIterationsSpecified = designResult.StabilityDesignResults.NumberOfIterations.HasValue; if (designResult.StabilityDesignResults.NumberOfIterations.HasValue) desResult.StabilityDesignResults.NumberOfIterations = designResult.StabilityDesignResults.NumberOfIterations.Value; } + + private static void CreateLocationResultsOutput(DamProjectData damProjectData, Output 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) + + // 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 rwScenarioResult in locationJob.LocationResult.RegionalScenariosResult.RegionalScenarioResults) + { + var outputRwScenarioResult = new RegionalScenarioResult(); + outputRwScenarioResult.LoadSituation = ConversionHelper.ConvertToOutputLoadSituation(rwScenarioResult.LoadSituation); + outputRwScenarioResult.DikeDrySensitivity = ConversionHelper.ConvertToOutputDikeDrySensitivity(rwScenarioResult.DikeDrySensitivity); + outputRwScenarioResult.HydraulicShortcutType = ConversionHelper.ConvertToOutputHydraulicShortcutType(rwScenarioResult.HydraulicShortcutType); + outputRwScenarioResult.UpliftType = ConversionHelper.ConvertToOutputUpliftType(rwScenarioResult.UpliftType); + outputRwScenarioResult.ModelOption = ConversionHelper.ConvertToOutputMStabModelType(rwScenarioResult.ModelOption); + outputRwScenarioResult.ScenarioType = ConversionHelper.ConvertToOutputScenarioType(rwScenarioResult.ScenarioType); + outputRwScenarioResult.CalculationResult = ConversionHelper.ConvertToOutputCalculationResult(rwScenarioResult.CalculationResult); + outputRwScenarioResult.SafetyFactor = rwScenarioResult.SafetyFactor; + outputRwScenarioResult.RegionalScenarioProfileResults = new RegionalScenarioResultRegionalScenarioProfileResult[rwScenarioResult.RegionalScenarioProfileResults.Count]; + var proftel = 0; + foreach (var profileResult in rwScenarioResult.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); + outputLocationResult.RegionalScenariosResult.RegionalScenarioResult[scentel].RegionalScenarioProfileResults[proftel] = outputProfileResult; + proftel++; + } + outputLocationResult.RegionalScenariosResult.RegionalScenarioResult[scentel] = outputRwScenarioResult; + scentel++; + + // RWSchematizationFactors Result later + // Note that xsd should be adapted first: the types should be stored as int, not as string! This to be able to reuse the converters +// outputLocationResult.RegionalSchematizationFactorsResult = new CalculationResultsLocationResultRegionalSchematizationFactorsResult(); +// outputLocationResult.RegionalSchematizationFactorsResult.RegionalSchematizationFactorResult = new CalculationResultsLocationResultRegionalSchematizationFactorsResultRegionalSchematizationFactorResult[damProjectData.SchematizationFactors.Count]; +// var factortel = 0; +// foreach (var rwSchematizationFactorResult in damProjectData.SchematizationFactors) +// { +// var factorResult = new CalculationResultsLocationResultRegionalSchematizationFactorsResultRegionalSchematizationFactorResult(); +// 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.DecisiveRegionalScenarioName = rwSchematizationFactorResult.DecisiveScenarioName; +// factorResult.DetrimentFactor = rwSchematizationFactorResult.DetrimentFactor; +// factorResult.SafetyFactor = rwSchematizationFactorResult.SafetyFactor; +// factorResult.CalculationResult = ConversionHelper.ConvertToOutputCalculationResult(rwSchematizationFactorResult.CalculationResult); +// outputLocationResult.RegionalSchematizationFactorsResult.RegionalSchematizationFactorResult[factortel] = factorResult; +// factortel++; +// } + + } + output.Results.CalculationResults.LocationResults[jobtel] = outputLocationResult; + jobtel++; + } + } } }