public LoaderProcedure()
 {
     _ds = null;
     _mapping = null;
     _fileCsvData = null;
     _filesXmlData = null;
     _transcodeTime = null;
 }
Ejemplo n.º 2
0
 public BuilderProcedure()
 {
     _ds = null;
     _fileCsvData = null;
     _filesXmlData = null;
     _mapping = null;
     _transcodeTime = null;
     _useTranscodeTime = false;
 }
Ejemplo n.º 3
0
        public Mapping Set_MAPPING(int IDMappingSchema)
        {
            Dictionary<string, object> mapping_set = ISTAT.DBDAL.DataAccess.Get_MappingSet(IDMappingSchema);
            Dictionary<string, object> mapping_items = ISTAT.DBDAL.DataAccess.Get_MappingScheme(IDMappingSchema);

            if (mapping_set != null)
            {

                _ds = new DataStructure(int.Parse(mapping_set["ID_SET"].ToString()));

                _transcodeTime = new ISTAT.ENTITY.TranscodeTime();
                _transcodeTime.periodChar = (TranscodeTime.TypePeriod)mapping_set["TRANSCODE_VALUE"];
                _transcodeTime.stopChar = (mapping_set["TRANSCODE_CHAR"].ToString() != string.Empty) ? mapping_set["TRANSCODE_CHAR"].ToString() : string.Empty;

                _mapping = new Mapping();
                _mapping.IDSchema = IDMappingSchema;
                _mapping.Name = mapping_set["NAME"].ToString();
                _mapping.Time = ((DateTime)mapping_set["TIMESTAMP"]).TimeOfDay;

                _mapping.Description = mapping_set["DESCRIPTION"].ToString();

                _mapping.TranscodeUse = (bool)mapping_set["TRANSCODE_USE"];
                _mapping.TranscodeTime = _transcodeTime;

                _mapping.CSV_CHAR = (mapping_set["FILE_CSV_CHAR"].ToString() != string.Empty) ? char.Parse(mapping_set["FILE_CSV_CHAR"].ToString()) : ';';
                _mapping.CSV_HASHEADER = (bool)mapping_set["FILE_CSV_HASHEADER"];

                if (mapping_items != null)
                {
                    _mapping.Items = new MappingItem[mapping_items.Count];
                    int i = 0;
                    foreach (object mapp in mapping_items.Keys)
                    {
                        _mapping.Items[i] = new MappingItem();
                        Dictionary<int, string> c = mapping_items[mapp.ToString()] as Dictionary<int, string>;
                        _mapping.Items[i]._a = c.Keys.First();
                        _mapping.Items[i]._b = mapp.ToString();
                        _mapping.Items[i]._c = c.Values.First();
                        i++;
                    }
                }
            }

            return _mapping;
        }
Ejemplo n.º 4
0
        public List<Mapping> Get_MAPPINGS(int idset, int iduser)
        {
            List<Mapping> _mappings = new List<Mapping>();

            Dictionary<string, int> lst_mapping = ISTAT.DBDAL.DataAccess.Get_Mapping(idset);
            if (lst_mapping != null)
            {
                foreach (string mapp in lst_mapping.Keys)
                {
                    Mapping m = new Mapping();
                    m.Name = mapp;
                    m.IDSchema = (int)lst_mapping[mapp.ToString()];
                    _mappings.Add(m);
                }
            }
            return _mappings;
        }
Ejemplo n.º 5
0
 public bool Delete_MAPPING(int idschema)
 {
     if (ISTAT.DBDAL.DataAccess.Delete_Mapping(idschema))
     {
         _mapping = null;
         return true;
     }
     else
         return false;
 }
Ejemplo n.º 6
0
        public Mapping Create_MAPPING(
            int idset,
            int iduser,
            string name,
            string desc,
            List<MappingItem> items,
            string csv_char,
            bool csv_header,
            bool trans_use,
            string trans_char,
            int trans_period)
        {
            _mapping = new Engine.Mapping();

            Dictionary<string, Dictionary<string, object>> dict = new Dictionary<string, Dictionary<string, object>>();
            foreach (MappingItem item in items) {
                Dictionary<string, object> c=new Dictionary<string,object>();
                c.Add(item._b.ToString(),item._c);
                dict.Add(item._a.ToString(),c );
            }
            int id = -1;
            if ((id = ISTAT.DBDAL.DataAccess.Create_Mapping(
                idset,
                iduser,
                name,
                desc,
                dict,
                csv_char,
                csv_header,
                trans_use,
                trans_char,
                trans_period)) > 0)
            {
                _mapping.IDSchema = id;
                _mapping.Items = items.ToArray<MappingItem>();
                return _mapping;
            }
            else return null;
        }
 public void Set_DataStructure(int IDCube)
 {
     if (IDCube >= 0)
     {
         _ds = ISTAT.DBDAL.DataAccess.Get_DataStructure(IDCube);
         _transcodeTime = null;
         _mapping = null;
     }
 }
Ejemplo n.º 8
0
        // Procedura molto pesante!!!
        // Trasforma un csv in un dizionario di liste una rappresentazione in memoria di una tabella in forma normale
        public static Dictionary<string, List<string>> GetView(System.IO.Stream stream, Mapping mapping, int maxResult = 0, int offSet = 0)
        {
            if (stream == null) return null;
                if (mapping == null) return null;

                Dictionary<string, List<string>> view = new Dictionary<string, List<string>>();
                stream.Seek(0, System.IO.SeekOrigin.Begin);

                //create object for CSVReader and pass the stream
                CSVReader reader = new CSVReader((System.IO.Stream)stream);

                string[] dataRow;
                int indexRow = 0;

                try
                {
                    while ((dataRow = reader.GetCSVLine()) != null)
                    {
                        // offset salto le  offSet righe del csv
                        if (indexRow >= offSet)
                        {
                            foreach (MappingItem item in mapping.Items)
                            {
                                int numColumn = int.Parse(item._a.ToString());
                                string data = dataRow[numColumn - 1];
                                string header = item._b.ToString();

                                if (header.ToUpper() == "TIME_PERIOD")
                                    if (mapping.TranscodeUse)
                                        data = mapping.TranscodeTime.TransCodific(data);

                                if (view.Keys.Contains<string>(header))
                                {

                                    if (maxResult > 0
                                        && ((List<string>)view[header]).Count >= maxResult)
                                        return view;

                                    ((List<string>)view[header]).Add(data.Trim());
                                }
                                else
                                {
                                    view.Add(header, new List<string>());
                                    ((List<string>)view[header]).Add(data.Trim());
                                }
                            }

                        }

                        indexRow++;

                    }
                    return view;
                }
                catch (Exception ex)
                {
                    //Console.Write(ex.Message);
                }
            return null;
        }