/// <summary> /// Initializes a new instance of the <see cref="ComplexIdentifiableReferenceCore"/> class. /// </summary> /// <param name="id"> /// The id. /// </param> /// <param name="structureType"> /// The structure type. /// </param> /// <param name="annotationRef"> /// The annotation ref. /// </param> /// <param name="nameRef"> /// The name ref. /// </param> /// <param name="descriptionRef"> /// The description ref. /// </param> /// <param name="childReference"> /// The child reference. /// </param> public ComplexIdentifiableReferenceCore(IComplexTextReference id, SdmxStructureType structureType, IComplexAnnotationReference annotationRef, IComplexTextReference nameRef, IComplexTextReference descriptionRef, IComplexIdentifiableReferenceObject childReference) : base(structureType, annotationRef, nameRef, descriptionRef) { this._id = id; this._childReference = childReference; }
/// <summary> /// Initializes a new instance of the <see cref="ComplexStructureReferenceCore"/> class. /// </summary> /// <param name="agencyId"> /// The agency id. /// </param> /// <param name="id"> /// The id. /// </param> /// <param name="versionRef"> /// The version ref. /// </param> /// <param name="structureType"> /// The structure type. /// </param> /// <param name="annotationRef"> /// The annotation ref. /// </param> /// <param name="nameRef"> /// The name ref. /// </param> /// <param name="descriptionRef"> /// The description ref. /// </param> /// <param name="childRef"> /// The child ref. /// </param> public ComplexStructureReferenceCore(IComplexTextReference agencyId, IComplexTextReference id, IComplexVersionReference versionRef, SdmxStructureType structureType, IComplexAnnotationReference annotationRef, IComplexTextReference nameRef, IComplexTextReference descriptionRef, IComplexIdentifiableReferenceObject childRef) : base(structureType, annotationRef, nameRef, descriptionRef) { this._id = id; this._agencyId = agencyId; this._versionRef = versionRef; //TODO childRef defaults && null check... this._childRef = childRef; }
/** * builds a complex structure reference from XML beans values. * @param maintainableWhere * @param childRef if items in the where clauses (for ItemSchemes) otherwise null * @return */ private IComplexStructureReferenceObject BuildMaintainableWhere(MaintainableWhereType maintainableWhere, IComplexIdentifiableReferenceObject childRef) { QueryNestedIDType agencyIDType = maintainableWhere.AgencyID; IComplexTextReference agencyId = null; if (agencyIDType != null) { agencyId = BuildTextReference(null, [email protected](), agencyIDType.TypedValue); } QueryIDType queryIDType = maintainableWhere.ID; IComplexTextReference id = null; if (queryIDType != null) { id = BuildTextReference(null, [email protected](), queryIDType.TypedValue.ToString()); } IComplexVersionReference versionRef = BuildVersionReference(maintainableWhere.Version != null ? maintainableWhere.Version.ToString() : null, maintainableWhere.VersionFrom, maintainableWhere.VersionTo); SdmxStructureType structureType; if (maintainableWhere.type.Equals("OrganisationScheme")) { // hack. This checked are done since it is not identifiable no element name in enum and cannot use parseClass() structureType = SdmxStructureType.GetFromEnum(SdmxStructureEnumType.OrganisationScheme); } else if (maintainableWhere.type.Equals("Constraint")) { structureType = SdmxStructureType.GetFromEnum(SdmxStructureEnumType.ContentConstraint); } else if (maintainableWhere.type.Equals("Any")) { structureType = SdmxStructureType.GetFromEnum(SdmxStructureEnumType.Any); } else { structureType = SdmxStructureType.ParseClass(maintainableWhere.type); } IComplexAnnotationReference annotationRef = BuildAnnotationReference(maintainableWhere.Annotation); QueryTextType nameType = maintainableWhere.Name; IComplexTextReference nameRef = null; if (nameType != null) { nameRef = BuildTextReference(nameType.lang, [email protected](), nameType.TypedValue.ToString()); } QueryTextType descriptionType = maintainableWhere.Description; IComplexTextReference descriptionRef = null; if (descriptionType != null) { descriptionRef = BuildTextReference(descriptionType.lang, [email protected](), descriptionType.TypedValue.ToString()); } return new ComplexStructureReferenceCore(agencyId, id, versionRef, structureType, annotationRef, nameRef, descriptionRef, childRef); }