/////////////////////////////////////////////////////////////////////////////////////////////////// ////////////BUILD FROM MUTABLE OBJECTS ////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////// #region Constructors and Destructors /// <summary> /// Initializes a new instance of the <see cref="ProcessStepCore"/> class. /// </summary> /// <param name="parent"> /// The parent. /// </param> /// <param name="processStepMutableObject"> /// The iprocess. /// </param> /// <exception cref="SdmxSemmanticException"> /// Throws Validate exception. /// </exception> public ProcessStepCore(IIdentifiableObject parent, IProcessStepMutableObject processStepMutableObject) : base(processStepMutableObject, parent) { this.input = new List<IInputOutputObject>(); this.output = new List<IInputOutputObject>(); this.transitions = new List<ITransition>(); this.processSteps = new List<IProcessStepObject>(); if (processStepMutableObject.Input != null) { foreach (IInputOutputMutableObject currentIo in processStepMutableObject.Input) { this.input.Add(new InputOutputCore(this, currentIo)); } } if (processStepMutableObject.Output != null) { foreach (IInputOutputMutableObject currentIo0 in processStepMutableObject.Output) { this.output.Add(new InputOutputCore(this, currentIo0)); } } if (processStepMutableObject.Computation != null) { this.computation = new ComputationCore(this, processStepMutableObject.Computation); } if (processStepMutableObject.Transitions != null) { foreach (ITransitionMutableObject mutable in processStepMutableObject.Transitions) { this.transitions.Add(new TransitionCore(mutable, this)); } } if (processStepMutableObject.ProcessSteps != null) { foreach (IProcessStepMutableObject mutable1 in processStepMutableObject.ProcessSteps) { this.processSteps.Add(new ProcessStepCore(this, mutable1)); } } try { this.Validate(); } catch (SdmxSemmanticException e) { throw new SdmxSemmanticException(e, ExceptionCode.FailValidation, this); } }
/// <summary> /// The add process step. /// </summary> /// <param name="processStep"> /// The process step. /// </param> public void AddProcessStep(IProcessStepMutableObject processStep) { this._processSteps.Add(processStep); }