public ISet<ICodelistObject> GetCodelistStruc() { WebOperationContext ctx = WebOperationContext.Current; IRestStructureQuery input = BuildRestQueryBean(structure, agencyID, resourceID, version, ctx.IncomingRequest.UriTemplateMatch.QueryParameters); CodelistXmlBuilder codelistXmlBuilderBean = new CodelistXmlBuilder(); var codelistsType = new CodelistsType(); var structures = new StructuresType(); structures.Codelists = codelistsType; IMutableStructureSearchManager mutableStructureSearchManagerV21; IStructureSearchManagerFactory<IMutableStructureSearchManager> structureSearchManager = new MutableStructureSearchManagerFactory(); var sdmxSchemaV21 = SdmxSchema.GetFromEnum(SdmxSchemaEnumType.VersionTwoPointOne); mutableStructureSearchManagerV21 = structureSearchManager.GetStructureSearchManager(SettingsManager.MappingStoreConnectionSettings, sdmxSchemaV21); this._structureSearchManager = mutableStructureSearchManagerV21; ; IMutableObjects mutableObjects = this._structureSearchManager.GetMaintainables(input); var immutableObj = mutableObjects.ImmutableObjects; immutableObj.Header = SettingsManager.Header; ISet<ICodelistObject> codelists = immutableObj.Codelists; return codelists; }
/// <summary> /// Build SDMX objects from v2.1 structures /// </summary> /// <param name="structures"> /// The structures /// </param> /// <param name="header"> /// The header. /// </param> /// <returns> /// beans container of all beans built /// </returns> private ISdmxObjects Build(StructuresType structures, IHeader header, DatasetAction action) { var beans = new SdmxObjectsImpl(header, action); this.ProcessOrganisationSchemes(structures.OrganisationSchemes, beans); this.ProcessDataflows(structures.Dataflows, beans); this.ProcessMetadataFlows(structures.Metadataflows, beans); this.ProcessCategorySchemes(structures.CategorySchemes, beans); this.ProcessCategorisations(structures.Categorisations, beans); this.ProcessCodelists(structures.Codelists, beans); this.ProcessHierarchicalCodelists(structures.HierarchicalCodelists, beans); this.ProcessConcepts(structures.Concepts, beans); this.ProcessMetadataStructures(structures.MetadataStructures, beans); this.ProcessDataStructures(structures.DataStructures, beans); this.ProcessStructureSets(structures.StructureSets, beans); this.ProcessReportingTaxonomies(structures.ReportingTaxonomies, beans); this.ProcessProcesses(structures.Processes, beans); this.ProcessConstraints(structures.Constraints, beans); this.ProcessProvisions(structures.ProvisionAgreements, beans); return beans; }