Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingCalculation.cs =================================================================== diff -u -r81fa8a9bf3bd503cbd280e88b8f6037a840cff12 -r3cf4d4c65cf2ce285bdeb71162cf3b0a79cb3742 --- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingCalculation.cs (.../PipingCalculation.cs) (revision 81fa8a9bf3bd503cbd280e88b8f6037a840cff12) +++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingCalculation.cs (.../PipingCalculation.cs) (revision 3cf4d4c65cf2ce285bdeb71162cf3b0a79cb3742) @@ -30,7 +30,7 @@ /// /// This class holds information about a calculation for the . /// - public class PipingCalculation : Observable, ICalculation + public class PipingCalculation : Observable, ICalculation, ICloneable { /// /// Creates a new instance of with default values set for some of the parameters. @@ -70,12 +70,32 @@ } } - public Comment Comments { get; } + public Comment Comments { get; private set; } public void ClearOutput() { Output = null; SemiProbabilisticOutput = null; } + + public object Clone() + { + var clone = (PipingCalculation) MemberwiseClone(); + + clone.Comments = (Comment) Comments.Clone(); + clone.InputParameters = (PipingInput) InputParameters.Clone(); + + if (Output != null) + { + clone.Output = (PipingOutput) Output.Clone(); + } + + if (SemiProbabilisticOutput != null) + { + clone.SemiProbabilisticOutput = (PipingSemiProbabilisticOutput) SemiProbabilisticOutput.Clone(); + } + + return clone; + } } } \ No newline at end of file