/// <summary> /// The process codelist map. /// </summary> /// <param name="structureSetType"> /// The structure set type. /// </param> /// <param name="buildFrom"> /// The build from. /// </param> private void ProcessCodelistMap(StructureSetType structureSetType, IItemSchemeMapObject buildFrom) { var codelistMap = new CodelistMapType(); structureSetType.CodelistMap = codelistMap; string str0 = buildFrom.Id; if (!string.IsNullOrWhiteSpace(str0)) { codelistMap.id = buildFrom.Id; } IList<ITextTypeWrapper> names = buildFrom.Names; if (ObjectUtil.ValidCollection(names)) { codelistMap.Name = this.GetTextType(names); } IList<ITextTypeWrapper> descriptions = buildFrom.Descriptions; if (ObjectUtil.ValidCollection(descriptions)) { codelistMap.Description = this.GetTextType(descriptions); } if (buildFrom.SourceRef != null) { if (buildFrom.SourceRef.TargetReference.EnumType == SdmxStructureEnumType.CodeList) { var refType = new CodelistRefType(); codelistMap.CodelistRef = refType; SetCodelistRefAttributes(refType, buildFrom.SourceRef); } else if (buildFrom.SourceRef.TargetReference.EnumType == SdmxStructureEnumType.HierarchicalCodelist) { var refType0 = new HierarchicalCodelistRefType(); codelistMap.HierarchicalCodelistRef = refType0; SetHclRefAttributes(refType0, buildFrom.SourceRef); } } if (buildFrom.TargetRef != null) { if (buildFrom.TargetRef.TargetReference.EnumType == SdmxStructureEnumType.CodeList) { var refType1 = new CodelistRefType(); codelistMap.TargetCodelistRef = refType1; SetCodelistRefAttributes(refType1, buildFrom.TargetRef); } else if (buildFrom.TargetRef.TargetReference.EnumType == SdmxStructureEnumType.HierarchicalCodelist) { var refType2 = new HierarchicalCodelistRefType(); codelistMap.TargetHierarchicalCodelistRef = refType2; SetHclRefAttributes(refType2, buildFrom.TargetRef); } } IList<IItemMap> itemMapBeans = buildFrom.Items; if (ObjectUtil.ValidCollection(itemMapBeans)) { /* foreach */ foreach (IItemMap itemMapBean in itemMapBeans) { var codeMaptype = new CodeMapType(); codelistMap.CodeMap.Add(codeMaptype); string value1 = itemMapBean.SourceId; if (!string.IsNullOrWhiteSpace(value1)) { codeMaptype.MapCodeRef = itemMapBean.SourceId; } string value = itemMapBean.TargetId; if (!string.IsNullOrWhiteSpace(value)) { codeMaptype.MapTargetCodeRef = itemMapBean.TargetId; } } } if (this.HasAnnotations(buildFrom)) { codelistMap.Annotations = this.GetAnnotationsType(buildFrom); } }
/// <summary> /// Adds new codelist ref submission result. /// </summary> /// <param name="returnType"> /// The return type. /// </param> /// <param name="structureReference"> /// The structure reference /// </param> /// <param name="exception"> /// The exception. /// </param> private static void AddNewCodelistRefSubmissionResult( SubmitStructureResponseType returnType, IStructureReference structureReference, Exception exception) { SubmissionResultType result = GetNewSubmissionResultType(returnType, exception); var submittedStructure = new SubmittedStructureType(); result.SubmittedStructure = submittedStructure; var refType = new CodelistRefType(); submittedStructure.CodelistRef = refType; IMaintainableRefObject maintainableReference = structureReference.MaintainableReference; refType.AgencyID = maintainableReference.AgencyId; refType.CodelistID = maintainableReference.MaintainableId; if (ObjectUtil.ValidString(structureReference.MaintainableUrn)) { refType.URN = structureReference.MaintainableUrn; } if (!string.IsNullOrWhiteSpace(maintainableReference.Version)) { refType.Version = maintainableReference.Version; } }
/// <summary> /// The set codelist ref attributes. /// </summary> /// <param name="refType"> /// The ref type. /// </param> /// <param name="xref"> /// The crossReference. /// </param> private static void SetCodelistRefAttributes(CodelistRefType refType, IStructureReference xref) { IMaintainableRefObject maintainableReference = xref.MaintainableReference; string str0 = maintainableReference.AgencyId; if (!string.IsNullOrWhiteSpace(str0)) { refType.AgencyID = maintainableReference.AgencyId; } string str1 = maintainableReference.MaintainableId; if (!string.IsNullOrWhiteSpace(str1)) { refType.CodelistID = maintainableReference.MaintainableId; } refType.URN = xref.TargetUrn; string str3 = maintainableReference.Version; if (!string.IsNullOrWhiteSpace(str3)) { refType.Version = maintainableReference.Version; } }