public DataSetType()
 {
     this.anyAttrField = new List<System.Xml.XmlAttribute>();
     this.itemsField = new List<AnnotableType>();
     this.groupField = new List<GroupType>();
     this.dataProviderField = new DataProviderReferenceType();
 }
 public MetadataSetType()
 {
     this.reportField = new List<ReportType>();
     this.dataProviderField = new DataProviderReferenceType();
     this.nameField = new List<TextType>();
 }
 public DataSetType()
 {
     this.itemsField = new List<AnnotableType>();
     this.groupField = new List<GroupType>();
     this.attributesField = new List<ComponentValueType>();
     this.dataProviderField = new DataProviderReferenceType();
 }
Пример #4
0
 public SetReferenceType()
 {
     this.dataProviderField = new DataProviderReferenceType();
 }
        /// <summary>
        /// Builds a data provider bean from DataProviderReferenceType from XML 
        /// </summary>
        /// <param name="dataProviderRef">
        /// The data provider reference.
        /// </param>
        /// <param name="structureRetrievalManager">
        /// The structure retrieval manager.
        /// </param>
        /// <returns>
        /// The data provider.
        /// </returns>
        private IDataProvider ProcessDataProviderType(DataProviderReferenceType dataProviderRef, ISdmxObjectRetrievalManager structureRetrievalManager)
        {
            var dataProviderRefType = dataProviderRef.GetTypedRef<DataProviderRefType>();
            string agencyId = dataProviderRefType.agencyID;
            string id = dataProviderRefType.maintainableParentID;
            string version = dataProviderRefType.maintainableParentVersion;

            IMaintainableRefObject orgSchemeRef = new MaintainableRefObjectImpl(agencyId, id, version);
            IDataProviderScheme dataProviderScheme = structureRetrievalManager.GetMaintainableObject<IDataProviderScheme>(orgSchemeRef);
            foreach (IDataProvider dp in dataProviderScheme.Items)
            {
                if (dp.Id.Equals(dataProviderRefType.id))
                {
                    return dp;
                }
            }
            return null;
        }
        /// <summary>
        /// Handles the data provider.
        /// </summary>
        /// <param name="complexDataQuery">The complex data query.</param>
        /// <param name="whereType">Type of the where.</param>
        private static void HandleDataProvider(IComplexDataQuery complexDataQuery, DataParametersAndType whereType)
        {
            //if only one Data provider let alone otherwise encapsulate it in an Or clause
            if (complexDataQuery.DataProvider.Count == 1)
            {
                IDataProvider dataProvider = complexDataQuery.DataProvider.First();
                var dataProviderReferenceType = new DataProviderReferenceType();

                RefBaseType dataProviderRefType = new DataProviderRefType();

                dataProviderRefType.agencyID = dataProvider.CrossReferences.First().MaintainableReference.AgencyId;
                dataProviderRefType.id = dataProvider.Id;
                dataProviderRefType.maintainableParentID = dataProvider.MaintainableParent.Id;
                dataProviderRefType.maintainableParentVersion = dataProvider.MaintainableParent.Version;

                dataProviderReferenceType.Ref = dataProviderRefType;
                whereType.DataProvider.Add(dataProviderReferenceType);
            }
            else
            {
                var orForDataProviderType = new DataParametersOrType();

                foreach (IDataProvider dataProvider in complexDataQuery.DataProvider)
                {
                    RefBaseType dataProviderRefType = new DataProviderRefType();
                    dataProviderRefType.agencyID = dataProvider.CrossReferences.First().MaintainableReference.AgencyId;
                    dataProviderRefType.id = dataProvider.Id;
                    dataProviderRefType.maintainableParentID = dataProvider.MaintainableParent.Id;
                    dataProviderRefType.maintainableParentVersion = dataProvider.MaintainableParent.Version;
                    var dataProviderReferenceType = new DataProviderReferenceType { Ref = dataProviderRefType };
                    orForDataProviderType.DataProvider.Add(dataProviderReferenceType);
                }

                whereType.Or.Add(orForDataProviderType);
            }
        }