/// <summary> /// Initializes a new instance of the <see cref="AgencyMetadataImpl"/> class. /// </summary> /// <param name="agencyId"> /// The agency id. /// </param> /// <param name="objects"> /// The objects. /// </param> public AgencyMetadataImpl(string agencyId, ISdmxObjects objects) { this._structureMap = new Dictionary<SdmxStructureEnumType, int>(); this._agencyId = agencyId; this._structureMap.Add(SdmxStructureEnumType.AgencyScheme, objects.GetAgenciesScheme(agencyId) == null ? 0 : 1); this._structureMap.Add( SdmxStructureEnumType.AttachmentConstraint, objects.GetAttachmentConstraints(agencyId).Count); this._structureMap.Add( SdmxStructureEnumType.ContentConstraint, objects.GetContentConstraintObjects(agencyId).Count); this._structureMap.Add( SdmxStructureEnumType.DataProviderScheme, objects.GetDataProviderScheme(agencyId) == null ? 0 : 1); this._structureMap.Add( SdmxStructureEnumType.DataConsumerScheme, objects.GetDataConsumerScheme(agencyId) == null ? 0 : 1); this._structureMap.Add( SdmxStructureEnumType.OrganisationUnitScheme, objects.GetOrganisationUnitSchemes(agencyId).Count); this._structureMap.Add(SdmxStructureEnumType.Categorisation, objects.GetCategorisations(agencyId).Count); this._structureMap.Add(SdmxStructureEnumType.Dataflow, objects.GetDataflows(agencyId).Count); this._structureMap.Add(SdmxStructureEnumType.MetadataFlow, objects.GetMetadataflows(agencyId).Count); this._structureMap.Add(SdmxStructureEnumType.CategoryScheme, objects.GetCategorySchemes(agencyId).Count); this._structureMap.Add(SdmxStructureEnumType.ConceptScheme, objects.GetConceptSchemes(agencyId).Count); this._structureMap.Add(SdmxStructureEnumType.CodeList, objects.GetCodelists(agencyId).Count); this._structureMap.Add( SdmxStructureEnumType.HierarchicalCodelist, objects.GetHierarchicalCodelists(agencyId).Count); this._structureMap.Add(SdmxStructureEnumType.Msd, objects.GetMetadataStructures(agencyId).Count); this._structureMap.Add(SdmxStructureEnumType.Dsd, objects.GetDataStructures(agencyId).Count); this._structureMap.Add(SdmxStructureEnumType.Process, objects.GetProcesses(agencyId).Count); this._structureMap.Add( SdmxStructureEnumType.ReportingTaxonomy, objects.GetReportingTaxonomys(agencyId).Count); this._structureMap.Add(SdmxStructureEnumType.StructureSet, objects.GetStructureSets(agencyId).Count); this._structureMap.Add( SdmxStructureEnumType.ProvisionAgreement, objects.GetProvisionAgreements(agencyId).Count); }
/// <summary> /// Builds the series. /// </summary> /// <param name="objects">The objects.</param> /// <returns>The <see cref="System.Object"/>.</returns> private static dynamic BuildSeries(ISdmxObjects objects) { ICodelistObject freqCl = objects.GetCodelists(new MaintainableRefObjectImpl(null, "CL_FREQ", null)).First(); ICodelistObject adjCl = objects.GetCodelists(new MaintainableRefObjectImpl(null, "CL_ADJUSTMENT", null)).First(); ICodelistObject actCl = objects.GetCodelists(new MaintainableRefObjectImpl(null, "CL_STS_ACTIVITY", null)).First(); var freqCodes = new[] { "Q", "A", "M" }; var validFreqCodes = freqCl.Items.Where(code => freqCodes.Contains(code.Id)); var series = (from f in validFreqCodes from ad in adjCl.Items from ac in actCl.Items.Where(code => code.Id.StartsWith("NS0")) select new { f, ad, ac }).ToArray(); return series; }