Index: DamEngine/trunk/src/Deltares.DamEngine.Data/General/DamProjectData.cs =================================================================== diff -u -r1119 -r1120 --- DamEngine/trunk/src/Deltares.DamEngine.Data/General/DamProjectData.cs (.../DamProjectData.cs) (revision 1119) +++ DamEngine/trunk/src/Deltares.DamEngine.Data/General/DamProjectData.cs (.../DamProjectData.cs) (revision 1120) @@ -21,12 +21,9 @@ using System; using System.Collections.Generic; -using System.Linq; -using Deltares.DamEngine.Data.Design; using Deltares.DamEngine.Data.General.Results; using Deltares.DamEngine.Data.General.Sensors; using Deltares.DamEngine.Data.RegionalAssessmentResults; -using Deltares.DamEngine.Data.Standard.Calculation; using Deltares.DamEngine.Data.Standard.Language; using Deltares.DamEngine.Data.Standard.Logging; using Deltares.DamEngine.Data.Standard.Validation; @@ -45,9 +42,8 @@ private DamProjectType damProjectType = DamProjectType.Operational; private ProgramType programType = ProgramType.MStab; private List jobs = new List(); - private List calculations = null; // will be created and initialized in property - private List designCalculations = null; - private List schematizationFactors = null; + private List designCalculations; + /// /// Gets or sets the calculation messages. /// @@ -71,13 +67,6 @@ segments = new List(); } - // TODO: FM this is failure mechanism specific code and should be moved to ..\KernelWrappers - public static string MStabExePath - { - get; - set; - } - public virtual string Name { get { return String.Format(LocalizationManager.GetTranslatedText(this, "WaterBoard")); } @@ -166,103 +155,10 @@ } } - public List Calculations - { - get - { - if (calculations == null) - { - calculations = new List(); - this.UpdateCalculations(); - } - - return calculations; - } - } - - public void UpdateCalculations() - { - if (calculations != null) - { - calculations.Clear(); - - foreach (LocationJob locationJob in this.LocationJobs) - { - if (locationJob.HasRWScenarioResults) - { - foreach (var locationResult in locationJob.RWScenarioResults) - { - calculations.AddRange(locationResult.RegionalScenarioProfileResults); - } - } - } - } - } - - private List CreateScenarioListForDeletion() - { - List scenarios = new List(); ; - - List locations = this.LocationJobs.Select(x => x.Location).ToList(); - foreach (Location location in locations) - { - if (location.Scenarios != null) - { - scenarios.AddRange(location.Scenarios); - } - } - - return scenarios; - } - - private List CreateScenarioListForCalculation() - { - List scenarios = new List(); ; - - List locations = this.SelectedLocationJobs.Select(x => x.Location).ToList(); - foreach (Location location in locations) - { - if (location.Scenarios != null) - { - scenarios.AddRange(location.Scenarios); - } - } - - return scenarios; - } - - /// - /// Updates the design calculations. - /// - public void UpdateDesignCalculations() - { - if (designCalculations == null) - { - designCalculations = new List(); - } - else - { - designCalculations.Clear(); - } - var scenarios = CreateScenarioListForCalculation(); - foreach (DesignScenario scenario in scenarios) - { - if (scenario.CalculationResults != null && scenario.CalculationResults.Count > 0) - { - designCalculations.AddRange(scenario.CalculationResults); - } - } - } - public List DesignCalculations { get { - if (designCalculations == null) - { - this.UpdateDesignCalculations(); - } - return designCalculations; } set @@ -271,67 +167,6 @@ } } - public List SchematizationFactors - { - get - { - if (schematizationFactors == null) - { - schematizationFactors = new List(); - this.UpdateSchematizationFactors(); - } - - return schematizationFactors; - } - } - - public void UpdateSchematizationFactors() - { - if (schematizationFactors != null) - { - schematizationFactors.Clear(); - - foreach (LocationJob locationJob in this.LocationJobs) - { - if (locationJob.HasSchematizationFactorResults) - { - foreach ( - var rwSchematizationFactorResult in - locationJob.LocationResult.SchematizationFactorsResult.SchematizationFactorResults) - { - schematizationFactors.Add(rwSchematizationFactorResult); - } - } - } - } - } - - public CalculationResult Validate() - { - try - { - dike.Validate(); - return CalculationResult.Succeeded; - } - catch - { - return CalculationResult.InvalidInputData; - } - } - - public LocationJob GetLocationJob(Location location) - { - foreach (LocationJob locationJob in this.LocationJobs) - { - if (locationJob.Location == location) - { - return locationJob; - } - } - - return null; - } - public List LocationJobs { get @@ -351,49 +186,13 @@ } } - public LocationJob GetFirstLocationJobWithDesignResults() - { - foreach (LocationJob locationJob in this.LocationJobs) - { - if (locationJob.HasScenarioResults) - { - return locationJob; - } - } - return null; - } - - public LocationJob GetFirstLocationJobWithAssesmentResults() - { - foreach (LocationJob locationJob in this.LocationJobs) - { - if (locationJob.HasRWScenarioResults) - { - return locationJob; - } - } - return null; - } - - public LocationJob GetFirstLocationJobWithCalamityResults() - { - foreach (LocationJob locationJob in this.LocationJobs) - { - if (locationJob.HasTimeSeriesLocationResults) - { - return locationJob; - } - } - return null; - } - [Validate] public List SelectedLocationJobs { get { List selectedLocationJobs = new List(); - foreach (LocationJob locationJob in this.LocationJobs) + foreach (var locationJob in LocationJobs) { if (locationJob.Run.HasValue && locationJob.Run.Value) { @@ -405,24 +204,6 @@ } } - [Validate] - public ValidationResult[] ValidateEnoughLocationJobs() - { - if (this.SelectedLocationJobs.Count == 0) - { - return new ValidationResult[] - { - new ValidationResult(ValidationResultType.Error, - LocalizationManager.GetTranslatedText(this, "NoLocationsSelected"), - this) - }; - } - else - { - return new ValidationResult[0]; - } - } - // TODO: FM this is failure mechanism specific code and should be moved to ..\KernelWrappers public ProgramType ProgramType { @@ -486,11 +267,12 @@ public EvaluationJob GetEvaluationJob() { - EvaluationJob evaluationJob = new EvaluationJob(); + EvaluationJob evaluationJob = new EvaluationJob + { + DikeName = dike.Name + }; - evaluationJob.DikeName = dike.Name; - - foreach (LocationJob locationJob in this.LocationJobs) + foreach (var locationJob in LocationJobs) { if (locationJob.Run != null && locationJob.Run.Value) { @@ -505,116 +287,6 @@ return evaluationJob; } - /// - /// Ensures the proper zone safety factors are available for all locations. - /// - public void EnsureProperZoneSafetyFactors() - { - if (dike != null) - { - foreach (var location in dike.Locations) - { - location.EnsureProperZoneSafetyFactors(); - } - } - } - - public void DeleteResults() - { - if (dikeJob != null && dikeJob.Jobs != null) - { - dikeJob.Jobs.Clear(); - } - dikeJob = null; - if (jobs != null) - { - jobs.Clear(); - } - if (calculations != null) - { - calculations.Clear(); - } - if (schematizationFactors != null) - { - schematizationFactors.Clear(); - } - - // Delete calculationresults in scenarios - var scenarios = CreateScenarioListForDeletion(); - foreach (DesignScenario scenario in scenarios) - { - scenario.ClearResults(); - scenario.ClearErrors(); - } - - if (designCalculations != null) - { - designCalculations.Clear(); - } - } - - private EvaluationJob GetCalculatedEvaluationJob() - { - EvaluationJob evaluationJob = new EvaluationJob(); - - evaluationJob.DikeName = dike.Name; - - foreach (LocationJob locationJob in this.LocationJobs) - { - if ((locationJob.Result != JobResult.NoRun || (locationJob.HasRWScenarioResults)) && locationJob.Run != null && locationJob.Run.Value) - { - if (dike.Locations.Contains(locationJob.Location)) - { - dike.UpdateLocation(locationJob.Location); - break; - } - evaluationJob.Locations.Add(locationJob.Location); - } - } - return evaluationJob; - } - - public bool HasResults() - { - bool hasResults = dike != null && dikeJob != null && dikeJob.Jobs.Count > 0; - if (hasResults) - { - EvaluationJob evaluationJob = GetCalculatedEvaluationJob(); - hasResults = evaluationJob.Locations != null && evaluationJob.Locations.Count > 0; - } - return hasResults; - } - - /// - /// Check if design with geometry adaption is allowed - /// - /// - private bool IsDesignWithGeometryAdaptionAllowed() - { - bool isAdoption = this.DamProjectType == DamProjectType.Design && DamProjectCalculationSpecification.SelectedAnalysisType != AnalysisType.NoAdaption; - bool isStabilityOutside = this.DamProjectCalculationSpecification.DamCalculationSpecifications.Any(specification => specification.FailureMechanismSystemType == FailureMechanismSystemType.StabilityOutside); - return (!isAdoption || !isStabilityOutside); - } - - /// - /// Validates the geometry adaption setting. - /// - /// - [Validate] - public ValidationResult[] ValidateGeometryAdaptionSetting() - { - if (!IsDesignWithGeometryAdaptionAllowed()) - { - return new[]{ new ValidationResult(ValidationResultType.Error, LocalizationManager.GetTranslatedText(this, "DesignAndAdaptionNotAllowedForStabilityOutside"), - this)}; - } - else - { - return new ValidationResult[0]; - } - - } - public override string ToString() { return Name;