/// <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; }
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; }