/// <summary> /// Initializes a new instance of the <see cref="ReportPeriodTargetMutableCore"/> class. /// </summary> /// <param name="objTarget"> /// The agencySchemeMutable target. /// </param> public ReportPeriodTargetMutableCore(IReportPeriodTarget objTarget) : base(objTarget) { this.textType = objTarget.TextType; if (objTarget.StartTime != null) { this.startTime = objTarget.StartTime.Date; } if (objTarget.EndTime != null) { this.startTime = objTarget.EndTime.Date; } }
/////////////////////////////////////////////////////////////////////////////////////////////////// ////////////BUILD FROM MUTABLE OBJECT ////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////// #region Constructors and Destructors /// <summary> /// Initializes a new instance of the <see cref="MetadataTargetCore"/> class. /// </summary> /// <param name="parent"> /// The parent. /// </param> /// <param name="itemMutableObject"> /// The sdmxObject. /// </param> /// <exception cref="SdmxSemmanticException"> /// Throws Validate exception.Throws Validate exception. /// </exception> public MetadataTargetCore(IIdentifiableObject parent, IMetadataTargetMutableObject itemMutableObject) : base(itemMutableObject, parent) { if (itemMutableObject.ConstraintContentTarget != null) { this.constraintContentTarget = new ConstraintContentTargetCore(this, itemMutableObject.ConstraintContentTarget); } if (itemMutableObject.KeyDescriptorValuesTarget != null) { this.keyDescriptorValuesTarget = new KeyDescriptorValuesTargetCore(this, itemMutableObject.KeyDescriptorValuesTarget); } if (itemMutableObject.DataSetTarget != null) { this.dataSetTarget = new DataSetTargetCore(itemMutableObject.DataSetTarget, this); } if (itemMutableObject.ReportPeriodTarget != null) { this.reportPeriodTarget = new ReportPeriodTargetCore(this, itemMutableObject.ReportPeriodTarget); } if (itemMutableObject.IdentifiableTarget != null) { foreach (IIdentifiableTargetMutableObject identifiableTargetMutableObject in itemMutableObject.IdentifiableTarget) { this._identifiableTarget.Add(new IdentifiableTargetCore(identifiableTargetMutableObject, this)); } } try { this.Validate(); } catch (SdmxSemmanticException e) { throw new SdmxSemmanticException(e, ExceptionCode.FailValidation, this); } }
/////////////////////////////////////////////////////////////////////////////////////////////////// ////////////BUILD FROM V2.1 SCHEMA ////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> /// Initializes a new instance of the <see cref="MetadataTargetCore"/> class. /// </summary> /// <param name="metadataTarget"> /// The sdmxObject. /// </param> /// <param name="parent"> /// The parent. /// </param> /// <exception cref="SdmxSemmanticException"> /// Throws Validate exception. /// </exception> protected internal MetadataTargetCore(MetadataTargetType metadataTarget, IMetadataStructureDefinitionObject parent) : base(metadataTarget, SdmxStructureType.GetFromEnum(SdmxStructureEnumType.MetadataTarget), parent) { if (ObjectUtil.ValidCollection(metadataTarget.KeyDescriptorValuesTarget)) { if (metadataTarget.KeyDescriptorValuesTarget.Count > 1) { throw new SdmxSemmanticException( "Metadata Target can not have more then one KeyDescriptorValuesTarget"); } this.keyDescriptorValuesTarget = new KeyDescriptorValuesTargetCore(metadataTarget.KeyDescriptorValuesTarget[0].Content, this); } if (ObjectUtil.ValidCollection(metadataTarget.DataSetTarget)) { if (metadataTarget.DataSetTarget.Count > 1) { throw new SdmxSemmanticException("Metadata Target can not have more then one DataSetTarget"); } this.dataSetTarget = new DataSetTargetCore(metadataTarget.DataSetTarget[0].Content, this); } if (ObjectUtil.ValidCollection(metadataTarget.ReportPeriodTarget)) { if (metadataTarget.ReportPeriodTarget.Count > 1) { throw new SdmxSemmanticException("Metadata Target can not have more then one ReportPeriodTarget"); } this.reportPeriodTarget = new ReportPeriodTargetCore(metadataTarget.ReportPeriodTarget[0].Content, this); } if (ObjectUtil.ValidCollection(metadataTarget.ConstraintContentTarget)) { if (metadataTarget.DataSetTarget.Count > 1) { throw new SdmxSemmanticException("Metadata Target can not have more then one ConstraintContentTarget"); } this.constraintContentTarget = new ConstraintContentTargetCore( metadataTarget.ConstraintContentTarget[0].Content, this); } if (metadataTarget.IdentifiableObjectTarget != null) { foreach (IdentifiableObjectTarget currentTarget in metadataTarget.IdentifiableObjectTarget) { this._identifiableTarget.Add(new IdentifiableTargetCore(currentTarget.Content, this)); } } try { this.Validate(); } catch (SdmxSemmanticException e) { throw new SdmxSemmanticException(e, ExceptionCode.FailValidation, this); } }