/// <summary> /// Initializes a new instance of the <see cref="CrossSectionalDataStructureMutableCore" /> class. /// </summary> public CrossSectionalDataStructureMutableCore() { this._crossSectionalMeasures = new List<ICrossSectionalMeasureMutableObject>(); this._crossSectionalAttachDataSet = new List<string>(); this._crossSectionalAttachGroup = new List<string>(); this._crossSectionalAttachSection = new List<string>(); this._crossSectionalAttachObservation = new List<string>(); this._attributeToMeasureMap = new DictionaryOfLists<string, string>(StringComparer.Ordinal); }
/// <summary> /// Initializes a new instance of the <see cref="CrossSectionalDsdHelper"/> class. /// </summary> /// <param name="dsd"> /// The DSD. /// </param> public CrossSectionalDsdHelper(IDataStructureMutableObject dsd) { this._crossSectional = dsd as ICrossSectionalDataStructureMutableObject; if (this._crossSectional != null) { this._crossDataSet = new HashSet<string>( this._crossSectional.CrossSectionalAttachDataSet, StringComparer.Ordinal); this._crossGroup = new HashSet<string>( this._crossSectional.CrossSectionalAttachGroup, StringComparer.Ordinal); this._crossSection = new HashSet<string>( this._crossSectional.CrossSectionalAttachSection, StringComparer.Ordinal); this._crossObs = new HashSet<string>( this._crossSectional.CrossSectionalAttachObservation, StringComparer.Ordinal); this._attributeMap = this._crossSectional.AttributeToMeasureMap; } }
/// <summary> /// Initializes a new instance of the <see cref="CrossSectionalDataStructureMutableCore"/> class. /// </summary> /// <param name="objTarget"> /// The obj target. /// </param> public CrossSectionalDataStructureMutableCore(ICrossSectionalDataStructureObject objTarget) : base(objTarget) { this._crossSectionalMeasures = new List<ICrossSectionalMeasureMutableObject>(); this._crossSectionalAttachDataSet = new List<string>(); this._crossSectionalAttachGroup = new List<string>(); this._crossSectionalAttachSection = new List<string>(); this._crossSectionalAttachObservation = new List<string>(); this._attributeToMeasureMap = new DictionaryOfLists<string, string>(StringComparer.Ordinal); PopulateList(this._crossSectionalAttachDataSet, objTarget.GetCrossSectionalAttachDataSet(false)); PopulateList(this._crossSectionalAttachGroup, objTarget.GetCrossSectionalAttachGroup(false)); PopulateList(this._crossSectionalAttachObservation, objTarget.GetCrossSectionalAttachObservation()); PopulateList(this._crossSectionalAttachSection, objTarget.GetCrossSectionalAttachSection(false)); foreach (IAttributeObject attribute in objTarget.Attributes) { IList<string> measureIds = new List<string>(); foreach (ICrossSectionalMeasure xsMeasure in objTarget.GetAttachmentMeasures(attribute)) { measureIds.Add(xsMeasure.Id); } this._attributeToMeasureMap.Add(attribute.Id, measureIds); } foreach (ICrossSectionalMeasure measure in objTarget.CrossSectionalMeasures) { this._crossSectionalMeasures.Add(new CrossSectionalMeasureMutableCore(measure)); } foreach (var dimension in objTarget.GetDimensions(SdmxStructureEnumType.MeasureDimension)) { var codelistForMeasureDimension = objTarget.GetCodelistForMeasureDimension(dimension.Id); if (codelistForMeasureDimension != null) { this._measureCodelistMapping[dimension.Id] = codelistForMeasureDimension.CreateMutableInstance(); } } }