Index: Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Service/DuneErosionBoundaryCalculationActivity.cs
===================================================================
diff -u -r0144d7112d94bff39e8f8abda70b5178955a8c93 -rb633ec894f0b9c1878e978b24a0c870480fd604b
--- Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Service/DuneErosionBoundaryCalculationActivity.cs (.../DuneErosionBoundaryCalculationActivity.cs) (revision 0144d7112d94bff39e8f8abda70b5178955a8c93)
+++ Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Service/DuneErosionBoundaryCalculationActivity.cs (.../DuneErosionBoundaryCalculationActivity.cs) (revision b633ec894f0b9c1878e978b24a0c870480fd604b)
@@ -42,11 +42,13 @@
/// Creates a new instance of .
///
/// The to perform the calculation for.
- /// The that holds information about the contribution and
- /// the general inputs used in the calculation.
- /// The hydraulic boundary database file that should be used for performing the calculation.
+ /// The that holds
+ /// information about the contribution and the general inputs used in the calculation.
+ /// The hydraulic boundary database file that
+ /// should be used for performing the calculation.
/// The norm to use during the calculation.
- /// Thrown when any parameter is null.
+ /// Thrown when or
+ /// is null.
public DuneErosionBoundaryCalculationActivity(DuneLocation duneLocation,
DuneErosionFailureMechanism failureMechanism,
string hydraulicBoundaryDatabaseFilePath,
@@ -66,30 +68,50 @@
this.hydraulicBoundaryDatabaseFilePath = hydraulicBoundaryDatabaseFilePath;
this.norm = norm;
- Description = string.Format(Resources.DuneErosionBoundaryCalculationActivity_Calculate_hydraulic_boundary_conditions_for_DuneLocation_with_name_0_, duneLocation.Name);
+ Description = string.Format(Resources.DuneErosionBoundaryCalculationActivity_Calculate_hydraulic_boundary_conditions_for_DuneLocation_with_name_0_,
+ duneLocation.Name);
calculationService = new DuneErosionBoundaryCalculationService();
}
- protected override void PerformCalculation()
+ protected override bool Validate()
{
- if (duneLocation.Output != null)
+ if (AlreadyCalculated)
{
State = ActivityState.Skipped;
- return;
+ return true;
}
- calculationService.Calculate(duneLocation,
- failureMechanism,
- norm,
- hydraulicBoundaryDatabaseFilePath);
+ return DuneErosionBoundaryCalculationService.Validate(hydraulicBoundaryDatabaseFilePath);
}
+ protected override void PerformCalculation()
+ {
+ if (State != ActivityState.Skipped)
+ {
+ calculationService.Calculate(duneLocation,
+ failureMechanism,
+ norm,
+ hydraulicBoundaryDatabaseFilePath);
+ }
+ }
+
protected override void OnCancel()
{
calculationService.Cancel();
}
- protected override void OnFinish() {}
+ protected override void OnFinish()
+ {
+ duneLocation.NotifyObservers();
+ }
+
+ private bool AlreadyCalculated
+ {
+ get
+ {
+ return duneLocation.Output != null;
+ }
+ }
}
}
\ No newline at end of file