/// <summary>
        /// Get_Dimensions
        /// </summary>
        /// <param name="idset">ID of Structure</param>
        /// <returns>return list of dimension form specific structure | NULL if error</returns>
        public static List<Dimension> Get_Dimensions(int idset)
        {
            DataWrapper dtw = new DataWrapper(DataWrapper.ECONNECTIONTYPE.SQL, DataAccess.SQLConnString_DB.ConnectionString);

            if (dtw.TestConnection())
            {
                dtw.DBConnection.Open();

                try
                {

                    ////////////////////////

                    List<Dimension> dims = new List<Dimension>();
                    System.Data.IDbCommand cmd = dtw.DBConnection.CreateCommand();
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    cmd.CommandText = "dbo.proc_GET_DIMENSIONS";

                    System.Data.IDbDataParameter _idset = cmd.CreateParameter();
                    _idset.DbType = System.Data.DbType.Int32;
                    _idset.ParameterName = "IDSet";
                    _idset.Value = idset;
                    cmd.Parameters.Add(_idset);

                    System.Data.IDbDataParameter _twoLetterISO = cmd.CreateParameter();
                    _twoLetterISO.DbType = System.Data.DbType.String;
                    _twoLetterISO.ParameterName = "TwoLetterISO";
                    _twoLetterISO.Value = DataAccess.TwoLetterIso;
                    cmd.Parameters.Add(_twoLetterISO);

                    System.Data.IDataReader _reader = cmd.ExecuteReader();
                    while (_reader.Read())
                    {
                        Dimension dim = new Dimension();
                        dim.Id = _reader.GetString(_reader.GetOrdinal("Code"));

                        dim.TimeDimension = _reader.GetBoolean(_reader.GetOrdinal("IsTimeSeriesDim"));

                        List<TextTypeWrapper> names = DataAccess.Get_LocalisedStrings(_reader.GetInt32(_reader.GetOrdinal("IDDim")), "CatDim");
                        dim.Names.Add(names[TextTypeWrapper.GetIndexLocale(names, DataAccess.TwoLetterIso)]);

                        dims.Add(dim);
                    }

                    ////////////////////////

                    dtw.DBConnection.Close();
                    return dims;
                }
                catch// (Exception ex)
                {
                    dtw.DBConnection.Close();
                    return null;
                }
            } return null;
        }
Пример #2
0
        public DataStructure Get_DSD(ISTAT.ENTITY.SDMXIdentifier sdmxIdentity)
        {
            DataStructure _ds = new ISTAT.ENTITY.DataStructure();
            Org.Sdmxsource.Sdmx.Api.Model.Objects.DataStructure.IDataStructureObject dsd = ISTAT.DBDAL.DataSDMX.GetDSD(sdmxIdentity);

            #region Get Dimension
            List<Dimension> dims = new List<Dimension>();
            foreach (Org.Sdmxsource.Sdmx.Api.Model.Objects.DataStructure.IDimension dim in dsd.DimensionList.Dimensions)
            {
                Dimension _dim = new Dimension(dim);
                dims.Add(_dim);
            }
            #endregion
            #region Get Attribute
            List<ISTAT.ENTITY.Attribute> atts = new List<ISTAT.ENTITY.Attribute>();
            foreach (Org.Sdmxsource.Sdmx.Api.Model.Objects.DataStructure.IAttributeObject att in dsd.Attributes)
            {
                ISTAT.ENTITY.Attribute _att = new ISTAT.ENTITY.Attribute(att);
                atts.Add(_att);
            }
            #endregion

            _ds.Dimensions = dims;
            _ds.Attributes = atts;
            _ds.DSDIdentifier = sdmxIdentity;
            _ds.IDDsd = ISTAT.DBDAL.DataSDMX.Get_IDDsd(sdmxIdentity);
            _ds.IsFinal = dsd.IsFinal.IsTrue;

            this._ds = _ds;

            return _ds;
        }
        public DataStructure Get_DSD(ISTAT.ENTITY.SDMXIdentifier sdmxIdentity)
        {
            DataStructure _ds = new ISTAT.ENTITY.DataStructure();
            Org.Sdmxsource.Sdmx.Api.Model.Objects.DataStructure.IDataStructureObject dsd = ISTAT.DBDAL.DataSDMX.GetDSD(sdmxIdentity, false);

            #region Get Dimension
            List<Dimension> dims = new List<Dimension>();
            foreach (Org.Sdmxsource.Sdmx.Api.Model.Objects.DataStructure.IDimension dim in dsd.DimensionList.Dimensions)
            {
                Dimension _dim = new Dimension(dim);
                dims.Add(_dim);
            }
            #endregion
            #region Get Attribute
            List<ISTAT.ENTITY.Attribute> atts = new List<ISTAT.ENTITY.Attribute>();
            foreach (Org.Sdmxsource.Sdmx.Api.Model.Objects.DataStructure.IAttributeObject att in dsd.Attributes)
            {
                ISTAT.ENTITY.Attribute _att = new ISTAT.ENTITY.Attribute(att);
                if (att.AttachmentGroup != null)
                {
                    var group = dsd.Groups.FirstOrDefault(e => e.Id == att.AttachmentGroup);
                    if (group != null)
                        _att.DimensionReferences = new List<string>(group.DimensionRefs);
                }
                atts.Add(_att);
            }
            #endregion

            _ds.Dimensions = dims;
            _ds.Attributes = atts;
            _ds.DSDIdentifier = sdmxIdentity;
            _ds.IDDsd = ISTAT.DBDAL.DataSDMX.Get_IDDsd(sdmxIdentity);
            _ds.IsFinal = dsd.IsFinal.IsTrue;

            this._ds = _ds;

            return _ds;
        }