Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Service/ClosingStructuresCalculationActivity.cs =================================================================== diff -u -rc80da2ce95bbcb03e64dd04b8f058cc54ab85574 -r73597729ce18d3ee00d8036bca8341e9c12f2953 --- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Service/ClosingStructuresCalculationActivity.cs (.../ClosingStructuresCalculationActivity.cs) (revision c80da2ce95bbcb03e64dd04b8f058cc54ab85574) +++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Service/ClosingStructuresCalculationActivity.cs (.../ClosingStructuresCalculationActivity.cs) (revision 73597729ce18d3ee00d8036bca8341e9c12f2953) @@ -22,7 +22,9 @@ using System; using Core.Common.Base.Service; using Ringtoets.ClosingStructures.Data; +using Ringtoets.ClosingStructures.Utils; using Ringtoets.Common.Data.AssessmentSection; +using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.HydraRing.Calculation.Activities; namespace Ringtoets.ClosingStructures.Service @@ -33,6 +35,10 @@ public class ClosingStructuresCalculationActivity : HydraRingActivityBase { private readonly ClosingStructuresCalculation calculation; + private readonly ClosingStructuresCalculationService calculationService; + private readonly ClosingStructuresFailureMechanism failureMechanism; + private readonly IAssessmentSection assessmentSection; + private readonly string hlcdDirectory; /// /// Creates a new instance of . @@ -52,7 +58,7 @@ if (hlcdDirectory == null) { - throw new ArgumentNullException("hlcdDirectory"); + throw new ArgumentNullException("hlcdDirectory"); } if (failureMechanism == null) @@ -66,18 +72,32 @@ } this.calculation = calculation; + this.failureMechanism = failureMechanism; + this.assessmentSection = assessmentSection; + this.hlcdDirectory = hlcdDirectory; Name = calculation.Name; + calculationService = new ClosingStructuresCalculationService(); } protected override void PerformCalculation() { - throw new NotImplementedException(); + ClosingStructuresDataSynchronizationService.ClearCalculationOutput(calculation); + + FailureMechanismSection failureMechanismSection = + ClosingStructuresHelper.FailureMechanismSectionForCalculation(failureMechanism.Sections, calculation); + + calculationService.Calculate(calculation, + assessmentSection, + failureMechanismSection, + failureMechanism.GeneralInput, + failureMechanism.Contribution, + hlcdDirectory); } protected override void OnCancel() { - throw new NotImplementedException(); + calculationService.Cancel(); } protected override void OnFinish()