Index: Ringtoets/Common/src/Ringtoets.Common.Forms/PresentationObjects/StructuresCalculationContext.cs =================================================================== diff -u --- Ringtoets/Common/src/Ringtoets.Common.Forms/PresentationObjects/StructuresCalculationContext.cs (revision 0) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/PresentationObjects/StructuresCalculationContext.cs (revision 9fe25ebfb1f70f00d66564ef2a89f6e22c27dce4) @@ -0,0 +1,63 @@ +// Copyright (C) Stichting Deltares 2017. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System; +using Ringtoets.Common.Data.AssessmentSection; +using Ringtoets.Common.Data.Calculation; +using Ringtoets.Common.Data.FailureMechanism; +using Ringtoets.Common.Data.Structures; + +namespace Ringtoets.Common.Forms.PresentationObjects +{ + /// + /// Presentation object for all data required to configure an instance of + /// in order to prepare it for performing a calculation. + /// + public class StructuresCalculationContext : FailureMechanismItemContextBase, TFailureMechanism>, + ICalculationContext, TFailureMechanism> + where TInput : IStructuresCalculationInput, new() + where TFailureMechanism : IFailureMechanism + { + /// + /// Creates a new instance of . + /// + /// The instance wrapped by this context object. + /// The that owns the wrapped calculation. + /// The failure mechanism which the context belongs to. + /// The assessment section which the calculation belongs to. + /// Thrown when any input argument is null. + public StructuresCalculationContext(StructuresCalculation calculation, + CalculationGroup parent, + TFailureMechanism failureMechanism, + IAssessmentSection assessmentSection) + : base(calculation, failureMechanism, assessmentSection) + { + if (parent == null) + { + throw new ArgumentNullException(nameof(parent)); + } + + Parent = parent; + } + + public CalculationGroup Parent { get; } + } +} \ No newline at end of file Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj =================================================================== diff -u -r3445838bcdcf9aa30bbc4b51f66be82812bd9b92 -r9fe25ebfb1f70f00d66564ef2a89f6e22c27dce4 --- Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision 3445838bcdcf9aa30bbc4b51f66be82812bd9b92) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision 9fe25ebfb1f70f00d66564ef2a89f6e22c27dce4) @@ -76,6 +76,7 @@ + True Index: Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Forms/PresentationObjects/HeightStructuresCalculationContext.cs =================================================================== diff -u -r8b60c9e846480f3ffeeb263bfea5d3367bf6bee3 -r9fe25ebfb1f70f00d66564ef2a89f6e22c27dce4 --- Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Forms/PresentationObjects/HeightStructuresCalculationContext.cs (.../HeightStructuresCalculationContext.cs) (revision 8b60c9e846480f3ffeeb263bfea5d3367bf6bee3) +++ Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Forms/PresentationObjects/HeightStructuresCalculationContext.cs (.../HeightStructuresCalculationContext.cs) (revision 9fe25ebfb1f70f00d66564ef2a89f6e22c27dce4) @@ -32,8 +32,7 @@ /// Presentation object for all data required to configure an instance of /// in order to prepare it for performing a calculation. /// - public class HeightStructuresCalculationContext : FailureMechanismItemContextBase, HeightStructuresFailureMechanism>, - ICalculationContext, HeightStructuresFailureMechanism> + public class HeightStructuresCalculationContext : StructuresCalculationContext { /// /// Creates a new instance of . @@ -47,16 +46,6 @@ CalculationGroup parent, HeightStructuresFailureMechanism failureMechanism, IAssessmentSection assessmentSection) - : base(calculation, failureMechanism, assessmentSection) - { - if (parent == null) - { - throw new ArgumentNullException(nameof(parent)); - } - - Parent = parent; - } - - public CalculationGroup Parent { get; } + : base(calculation, parent, failureMechanism, assessmentSection) {} } } \ No newline at end of file