public IEnumerable <IObservable> Update(HydraulicBoundaryDatabase hydraulicBoundaryDatabase, ReadHydraulicLocationConfigurationDatabaseSettings readHydraulicLocationConfigurationDatabaseSettings, bool usePreprocessorClosure, string hlcdFilePath) { if (hydraulicBoundaryDatabase == null) { throw new ArgumentNullException(nameof(hydraulicBoundaryDatabase)); } if (hlcdFilePath == null) { throw new ArgumentNullException(nameof(hlcdFilePath)); } HydraulicLocationConfigurationSettingsUpdateHelper.SetHydraulicLocationConfigurationSettings( hydraulicBoundaryDatabase.HydraulicLocationConfigurationSettings, readHydraulicLocationConfigurationDatabaseSettings, usePreprocessorClosure, hlcdFilePath); var changedObjects = new List <IObservable> { hydraulicBoundaryDatabase }; changedObjects.AddRange(RiskeerDataSynchronizationService.ClearHydraulicBoundaryLocationCalculationOutput(assessmentSection)); changedObjects.AddRange(RiskeerDataSynchronizationService.ClearFailureMechanismCalculationOutputs(assessmentSection)); return(changedObjects); }
protected override IEnumerable <IObservable> ClearData() { IEnumerable <ICalculation <ICalculationInput> > calculations = FailureMechanism.Calculations .Cast <ICalculation <ICalculationInput> >(); return(RiskeerDataSynchronizationService.RemoveAllForeshoreProfiles(calculations, foreshoreProfileCollection)); }
protected override IEnumerable <IObservable> ClearHydraulicBoundaryLocationCalculationDependentOutput() { var affectedObjects = new List <IObservable>(); affectedObjects.AddRange(base.ClearHydraulicBoundaryLocationCalculationDependentOutput()); affectedObjects.AddRange(RiskeerDataSynchronizationService.ClearAllWaveConditionsCalculationOutput(assessmentSection, CalculationsForTargetProbability)); return(affectedObjects); }
/// <summary> /// Clears the hydraulic boundary location calculation dependent output. /// </summary> /// <returns>The affected objects.</returns> protected virtual IEnumerable <IObservable> ClearHydraulicBoundaryLocationCalculationDependentOutput() { IEnumerable <IObservable> affectedObjects = RiskeerDataSynchronizationService.ClearHydraulicBoundaryLocationCalculationOutput(CalculationsForTargetProbability); if (affectedObjects.Any()) { log.Info(RiskeerCommonPluginResources.TargetProbabilityChangeHandler_Hydraulic_load_results_cleared); } return(affectedObjects); }
private IEnumerable <IObservable> ClearAllNormDependentSemiProbabilisticCalculationOutput() { IEnumerable <IObservable> affectedObjects = RiskeerDataSynchronizationService.ClearAllSemiProbabilisticCalculationOutput(assessmentSection); if (affectedObjects.Any()) { log.InfoFormat(Resources.FailureMechanismContributionNormChangeHandler_ClearAllNormDependentSemiProbabilisticCalculationOutput_Results_of_NumberOfCalculations_0_calculations_cleared, affectedObjects.OfType <ICalculationScenario>().Count()); } return(affectedObjects); }
private IEnumerable <IObservable> ClearNormDependingHydraulicBoundaryLocationCalculationOutput(bool normativeProbability) { NormativeProbabilityType normativeProbabilityToClearFor = GetNormativeProbabilityToClearFor(normativeProbability, assessmentSection.FailureMechanismContribution.NormativeProbabilityType); IEnumerable <HydraulicBoundaryLocationCalculation> calculationsToClear = GetHydraulicBoundaryLocationCalculationsToClear(normativeProbabilityToClearFor); var affectedObjects = new List <IObservable>(); affectedObjects.AddRange(RiskeerCommonDataSynchronizationService.ClearHydraulicBoundaryLocationCalculationOutput(calculationsToClear)); affectedObjects.AddRange(RiskeerDataSynchronizationService.ClearAllWaveConditionsCalculationOutput(assessmentSection, normativeProbabilityToClearFor)); if (affectedObjects.Any()) { log.Info(Resources.FailureMechanismContributionNormChangeHandler_ClearNormDependingHydraulicBoundaryLocationCalculationOutput_Calculation_results_cleared); } return(affectedObjects); }
public IEnumerable <IObservable> Update(ReferenceLine originalReferenceLine, ReferenceLine newReferenceLine) { if (originalReferenceLine == null) { throw new ArgumentNullException(nameof(originalReferenceLine)); } if (newReferenceLine == null) { throw new ArgumentNullException(nameof(newReferenceLine)); } removedObjects.Clear(); ClearResults results = RiskeerDataSynchronizationService.ClearReferenceLineDependentData(assessmentSection); foreach (object removedObject in results.RemovedObjects) { removedObjects.Enqueue(removedObject); } originalReferenceLine.SetGeometry(newReferenceLine.Points); return(results.ChangedObjects); }
public IEnumerable <IObservable> Update(HydraulicBoundaryDatabase hydraulicBoundaryDatabase, ReadHydraulicBoundaryDatabase readHydraulicBoundaryDatabase, ReadHydraulicLocationConfigurationDatabase readHydraulicLocationConfigurationDatabase, IEnumerable <long> excludedLocationIds, string hydraulicBoundaryDatabaseFilePath, string hlcdFilePath) { if (hydraulicBoundaryDatabase == null) { throw new ArgumentNullException(nameof(hydraulicBoundaryDatabase)); } if (readHydraulicBoundaryDatabase == null) { throw new ArgumentNullException(nameof(readHydraulicBoundaryDatabase)); } if (readHydraulicLocationConfigurationDatabase == null) { throw new ArgumentNullException(nameof(readHydraulicLocationConfigurationDatabase)); } if (excludedLocationIds == null) { throw new ArgumentNullException(nameof(excludedLocationIds)); } if (hydraulicBoundaryDatabaseFilePath == null) { throw new ArgumentNullException(nameof(hydraulicBoundaryDatabaseFilePath)); } if (hlcdFilePath == null) { throw new ArgumentNullException(nameof(hlcdFilePath)); } if (!IsValidReadHydraulicLocationConfigurationDatabase(readHydraulicLocationConfigurationDatabase)) { string errorMessage = $"{nameof(readHydraulicLocationConfigurationDatabase)} must be null or contain exactly one item for " + "the collection of hydraulic location configuration database settings."; throw new ArgumentException(errorMessage); } var changedObjects = new List <IObservable>(); updateLocations = !hydraulicBoundaryDatabase.IsLinked() || hydraulicBoundaryDatabase.Version != readHydraulicBoundaryDatabase.Version; if (updateLocations) { hydraulicBoundaryDatabase.FilePath = hydraulicBoundaryDatabaseFilePath; hydraulicBoundaryDatabase.Version = readHydraulicBoundaryDatabase.Version; SetLocations(hydraulicBoundaryDatabase, readHydraulicBoundaryDatabase.Locations, readHydraulicLocationConfigurationDatabase.LocationIdMappings, excludedLocationIds.ToArray()); assessmentSection.SetHydraulicBoundaryLocationCalculations(hydraulicBoundaryDatabase.Locations); duneLocationsReplacementHandler.Replace(hydraulicBoundaryDatabase.Locations); changedObjects.AddRange(GetLocationsAndCalculationsObservables(hydraulicBoundaryDatabase)); changedObjects.AddRange(RiskeerDataSynchronizationService.ClearAllCalculationOutputAndHydraulicBoundaryLocations(assessmentSection)); } else { if (hydraulicBoundaryDatabase.FilePath != hydraulicBoundaryDatabaseFilePath) { hydraulicBoundaryDatabase.FilePath = hydraulicBoundaryDatabaseFilePath; } } HydraulicLocationConfigurationSettingsUpdateHelper.SetHydraulicLocationConfigurationSettings( hydraulicBoundaryDatabase.HydraulicLocationConfigurationSettings, readHydraulicLocationConfigurationDatabase.ReadHydraulicLocationConfigurationDatabaseSettings?.Single(), readHydraulicLocationConfigurationDatabase.UsePreprocessorClosure, hlcdFilePath); return(changedObjects); }