Exemplo n.º 1
0
        public void LoadCsv()
        {
            using (var csv = new CachedCsvReader(new StreamReader("data.csv"), false))
            {
                csv.Columns.Add(new Column {
                    Name = "PriceDate", Type = typeof(DateTime)
                });
                csv.Columns.Add(new Column {
                    Name = "OpenPrice", Type = typeof(decimal)
                });
                csv.Columns.Add(new Column {
                    Name = "HighPrice", Type = typeof(decimal)
                });
                csv.Columns.Add(new Column {
                    Name = "LowPrice", Type = typeof(decimal)
                });
                csv.Columns.Add(new Column {
                    Name = "ClosePrice", Type = typeof(decimal)
                });
                csv.Columns.Add(new Column {
                    Name = "Volume", Type = typeof(int)
                });

                // Field headers will now be picked from the Columns collection
                //csv.Dump();
                //csv[]
            }
        }
Exemplo n.º 2
0
        public static IEnumerable <Code> ParseUnlocodecsv(StreamReader reader)
        {
            using (var csv = new CachedCsvReader(reader, hasHeaders: true))
            {
                var e = new DbEnumerator(csv);
                while (e.MoveNext())
                {
                    if (e.Current == null)
                    {
                        continue;
                    }
                    var record = (IDataRecord)e.Current;

                    if (record.FieldCount == 0)
                    {
                        continue;
                    }
                    var code = new Code()
                    {
                        Country          = (string)record.GetValue(1),
                        Location         = (string)record.GetValue(2),
                        Name             = (string)record.GetValue(3),
                        NameWoDiacritics = (string)record.GetValue(4),
                    };
                    yield return(code);
                }
            }
        }
Exemplo n.º 3
0
 public override DataTable ReadExcel(string filepath)
 {
     using (CsvReader csv = new CachedCsvReader(new StreamReader(filepath)))
     {
         return(csv.ToTable());
     }
 }
Exemplo n.º 4
0
        public string Execute(string inputFilePath)
        {
            var statusMessage = string.Empty;

            var conn = (SqlConnection)objSpace.Connection;

            int rowCount = 0;

            using (var csv = new CachedCsvReader(new StreamReader(inputFilePath), true))
                using (var cmd = conn.CreateCommand())
                    using (var bc = new SqlBulkCopy(conn))
                    {
                        //cmd.Transaction = trn;
                        cmd.CommandTimeout = CashDiscipline.Common.Constants.SqlCommandTimeout;

                        cmd.CommandText = createSql;
                        cmd.ExecuteNonQuery();

                        bc.DestinationTableName = "#TmpApInvoiceBal";
                        bc.WriteToServer(csv);

                        cmd.CommandText = "SELECT COUNT(*) FROM #TmpApInvoiceBal";
                        rowCount        = Convert.ToInt32(cmd.ExecuteScalar());

                        cmd.CommandText = persistSql;
                        cmd.ExecuteNonQuery();
                    }
            statusMessage = string.Format("{0} rows processed.", rowCount);
            return(statusMessage);
        }
Exemplo n.º 5
0
        /// <summary>
        /// This method takes a csv string (comma separated) and turns into a DataTable.
        /// </summary>
        /// <param name="csvString">The CSV string (comma separated).</param>
        /// <param name="tableName">Name of the table.</param>
        /// <returns></returns>
        public static DataTable CsvToTable(string csvString, string tableName)
        {
            var dtResult = new DataTable();

            dtResult.TableName = tableName;

            using (var csv = new CachedCsvReader(new StringReader(csvString), true))
            {
                string[] headers = csv.GetFieldHeaders();

                foreach (string header in headers)
                {
                    dtResult.Columns.Add(header, typeof(string));
                }

                while (csv.ReadNextRecord())
                {
                    var newRow = dtResult.NewRow();
                    for (int columnNumber = 0; columnNumber < headers.GetLongLength(0); columnNumber++)
                    {
                        newRow[columnNumber] = csv[columnNumber];
                    }
                    dtResult.Rows.Add(newRow);
                }
            }

            return(dtResult);
        }
        /// <summary>
        /// Retrieve station basic information for given year.
        /// </summary>
        /// <param name="year"></param>
        /// <returns>If information has been successfully retrieved.</returns>
        /// <remarks>The time range of climate stations are different. If there is no data in one year, the station information
        /// can't be retrieved.</remarks>
        private bool retrieveStationBasicInformation(int year)
        {
            string header = retrieveHeader(year);

            if (header.Length == 0)
            {
                return(false);
            }
            using (CachedCsvReader csv = new CachedCsvReader(new StringReader(header), false))
            {
                if (csv.FieldCount < 2)
                {
                    return(false);
                }

                csv.ReadNextRecord();   //station name
                _name = csv[1];

                csv.ReadNextRecord();   //province
                _province = csv[1];

                csv.ReadNextRecord();   //Latitude
                _latitude = csv[1];

                csv.ReadNextRecord();   //Lontitude
                _longitude = csv[1];

                csv.ReadNextRecord();   //Elevation
                _elevation = csv[1];

                return(true);
            }
        }
 public static DataTable loadFromCSV(string pathName, bool isHeader, DataTable table)
 {
     using (CachedCsvReader csv = new CachedCsvReader(new StreamReader(pathName), false)) {
         table.Load(csv);
     }
     return(table);
 }
Exemplo n.º 8
0
        public static CachedCsvReader Run1(string path, int field)
        {
            CachedCsvReader csv = new CachedCsvReader(new StreamReader(path), false);

            string s;

            if (field == -1)
            {
                while (csv.ReadNextRecord())
                {
                    for (int i = 0; i < csv.FieldCount; i++)
                    {
                        s = csv[i];
                    }
                }
            }
            else
            {
                while (csv.ReadNextRecord())
                {
                    s = csv[field];
                }
            }

            return(csv);
        }
Exemplo n.º 9
0
        private static DataTable ConvertCsvReaderToDataTable(CachedCsvReader csv)
        {
            DataTable csvDataTable = new DataTable();

            String[] csvHeaders = csv.GetFieldHeaders();
            if (csvHeaders.Length > 0)
            {
                foreach (String csvHeader in csvHeaders)
                {
                    csvDataTable.Columns.Add(csvHeader, typeof(String));
                }
            }
            else
            {
                for (int i = 0; i < csv.FieldCount; i++)
                {
                    csvDataTable.Columns.Add(String.Format(LanguageUtil.GetCurrentLanguageString("StandardColumnLabel", className), i + 1), typeof(String));
                }
            }

            do
            {
                object[] csvRow = new object[csvDataTable.Columns.Count];

                for (int i = 0; i < csv.FieldCount; i++)
                {
                    csvRow[i] = csv[i];
                }

                csvDataTable.Rows.Add(csvRow);
            } while (csv.ReadNextRecord());

            return(csvDataTable);
        }
Exemplo n.º 10
0
        private IEnumerable <Pair> DoParse(CachedCsvReader csv, DateTime dt)
        {
            var pairs = new List <Pair>();

            var headers           = csv.GetFieldHeaders();
            var symbolColumnIndex = headers
                                    .Select((header, idx) => new { idx, header })
                                    .Where(x => x.header.Equals("Code"))
                                    .Select(x => x.idx)
                                    .Single();
            var rateColumnIndex = headers
                                  .Select((header, idx) => new { idx, header })
                                  .Where(x => x.header.Equals("Rate"))
                                  .Select(x => x.idx)
                                  .Single();
            var rates = csv.Select(
                line => new Pair()
            {
                Dt            = dt,
                BaseSymbol    = "CZK",
                CounterSymbol = line[symbolColumnIndex],
                Rate          = ParseDoubleInverted(line[rateColumnIndex])
            }
                ).Where(
                x => !double.IsNaN(x.Rate)
                );

            return(rates.ToArray());
        }
Exemplo n.º 11
0
        public IEnumerable <Pair> Parse(string csv)
        {
            if (csv == null)
            {
                throw new ArgumentNullException("csv");
            }

            try
            {
                using (var reader = new StringReader(csv))
                {
                    var dt = ParseDailyDateLine(reader.ReadLine());

                    using (var csvProvider = new CachedCsvReader(reader, true, '|'))
                    {
                        if (!csvProvider.HasHeaders)
                        {
                            throw new ArgumentException("csv");
                        }
                        return(DoParse(csvProvider, dt));
                    }
                }
            }
            catch (Exception e)
            {
                log.Error(e, "CreateFromWebCsvDaily");
                return(Array.Empty <Pair>());
            }
        }
Exemplo n.º 12
0
        public static void Run2(CachedCsvReader csv, int field)
        {
            using (csv)
            {
                string s;

                if (field == -1)
                {
                    while (csv.ReadNextRecord())
                    {
                        for (int i = 0; i < csv.FieldCount; i++)
                        {
                            s = csv[i];
                        }
                    }
                }
                else
                {
                    while (csv.ReadNextRecord())
                    {
                        s = csv[field];
                    }
                }
            }
        }
Exemplo n.º 13
0
        /// <summary>
        /// CSV文字列読み込み
        /// ※要素は全トリムされます。
        /// </summary>
        /// <param name="val">CSV文字列</param>
        /// <param name="tableName">戻り値にセットするテーブル名</param>
        /// <param name="delimiter">区切り文字</param>
        /// <returns>CSVデータをDataTableとして返す。</returns>
        public DataTable ReadStringCsv(string val, string tableName, char delimiter)
        {
            StringReader sr = new StringReader(val);

            using (CachedCsvReader csvr = new CachedCsvReader(sr, true, delimiter)) {
                return(CsvToDataTable(csvr, tableName, false));
            }
        }
Exemplo n.º 14
0
        private void button1_Click(object sender, EventArgs e)
        {
            using (CachedCsvReader csv = new CachedCsvReader(new StringReader(CsvReaderSampleData.SampleData1), true))
            {
                dataGrid1.DataSource = csv;
            }

            button2.Enabled = true;
        }
Exemplo n.º 15
0
        private IEnumerable <Pair> DoParse(CachedCsvReader csv)
        {
            var rates = new List <Pair>();

            var headers         = csv.GetFieldHeaders();
            var dateColumnIndex = headers
                                  .Select((header, idx) => new { idx, header })
                                  .Where(x => x.header.Equals("Date"))
                                  .Select(x => x.idx)
                                  .Single();

            var volumes = headers
                          .Select(
                (header, idx) => KeyValuePair.Create(idx, ParseSymbolVolume(header))
                )
                          .Where(
                x => x.Value != null &&
                double.IsFinite(x.Value.Volume) &&
                Math.Abs(x.Value.Volume) > double.Epsilon
                )
                          .ToDictionary(x => x.Key, x => x.Value);

            foreach (var line in csv)
            {
                var dt = DateTime.Parse(line[dateColumnIndex]);
                for (int i = 0; i < headers.Length; ++i)
                {
                    if (i == dateColumnIndex)
                    {
                        continue;
                    }

                    if (double.TryParse(
                            line[i],
                            NumberStyles.Any,
                            CultureInfo.InvariantCulture,
                            out double rate
                            )
                        )
                    {
                        var volume = volumes[i];
                        rates.Add(
                            new Pair()
                        {
                            BaseSymbol    = volume.Symbol,
                            CounterSymbol = "CZK",
                            Rate          = volume.Volume / rate,
                            Dt            = dt
                        }
                            );
                    }
                }
            }

            return(rates);
        }
Exemplo n.º 16
0
 /// <summary>
 /// CSVファイル読み込み
 /// ・要素は全トリムされます。
 /// ・ファイルオープン時でも読み込みます。
 /// </summary>
 /// <param name="csvPath">CSVファイルへのパス</param>
 /// <param name="tableName">戻り値にセットするテーブル名</param>
 /// <param name="delimiter">区切り文字</param>
 /// <param name="enc">文字エンコード</param>
 /// <param name="existsHeader">ヘッダ行が存在するか</param>
 /// <returns>CSVデータをDataTableとして返す。</returns>
 public DataTable ReadCsv(string csvPath, string tableName, char delimiter, Encoding enc, bool existsHeader)
 {
     using (FileStream fs = new FileStream(csvPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) {
         using (TextReader sr = new StreamReader(fs, enc)) {
             using (CachedCsvReader csvr = new CachedCsvReader(sr, existsHeader, delimiter)) {
                 return(CsvToDataTable(csvr, tableName, existsHeader));
             }
         }
     }
 }
Exemplo n.º 17
0
        public void CachedNoHeader()
        {
            var csv = new CachedCsvReader(new StringReader("12345678;Hello\r\n78945612;World"), false, ';');

            var dgv = new System.Windows.Forms.DataGridView();

            dgv.DataSource = csv;

            dgv.Refresh();
        }
Exemplo n.º 18
0
 private static List <string> GetConfigCodes(string filePath)
 {
     using (var csv = new CachedCsvReader(new StreamReader(filePath), true))
     {
         //column 15 is the config code
         return(csv.Select(x => x[15])
                .Where(x => !string.IsNullOrWhiteSpace(x))
                .ToList());
     }
 }
Exemplo n.º 19
0
        protected override void readCSVFile(CachedCsvReader csv)
        {
#if (UseHeaders)
#else
            int persIDIndex    = _PersIDIndex;
            int codeIndex      = _CodeIndex;
            int codeNameIndex  = _CodeNameIndex;
            int beginTimeIndex = _BeginTimeIndex;
            int endTimeIndex   = _EndTimeIndex;
#endif

            Dictionary <string, ImportFileLongTimeAbsenceData> data = new Dictionary <string, ImportFileLongTimeAbsenceData>();
            while (csv.ReadNextRecord())
            {
                csvDataNextRow();
                short    code       = short.Parse(csv[codeIndex]);
                string   persID     = csv[persIDIndex];
                DateTime beginTime  = DateTime.ParseExact(csv[beginTimeIndex], "yyyyMMdd", null);
                string   endTimeStr = csv[endTimeIndex];
                if (string.IsNullOrEmpty(endTimeStr))
                {
                    endTimeStr = DateTimeSql.SmallDatetimeMaxStr;
                }
                DateTime endTime = DateTime.ParseExact(endTimeStr, "yyyyMMdd", null);
                string   key     = persID + code.ToString() + beginTime.ToString() + endTime.ToString();
                if (!data.ContainsKey(key))
                {
                    ImportLongTimeAbsenceData lta = new ImportLongTimeAbsenceData();
                    lta.PersID    = persID;
                    lta.BeginTime = beginTime;
                    lta.EndTime   = endTime;
                    lta.Code      = code;
                    lta.CodeName  = csv[codeNameIndex];
                    data.Add(key, new ImportFileLongTimeAbsenceData(_CurrentRow, lta));
                }
                else
                {
                    message(string.Format(GetLocalized("LongTimeAbsenceExists"), _CurrentRow, persID, code, beginTime, endTime));
                }
            }
            csvDataEndRead();

            List <ImportLongTimeAbsenceData> list = new List <ImportLongTimeAbsenceData>(data.Count);
            foreach (ImportFileLongTimeAbsenceData value in data.Values)
            {
                list.Add(value.Data);
            }
            SaveDataResult saveDataResult = _EmployeeService.LongTimeAbsenceService.ImportLongTimeAbsence(list);
            list = (List <ImportLongTimeAbsenceData>)saveDataResult.Data;
            foreach (ImportLongTimeAbsenceData value in list)
            {
                string key = value.PersID.ToString() + value.Code.ToString() + value.BeginTime.ToString() + value.EndTime.ToString();
                message(string.Format(GetLocalized("LongTimeAbsenceNotAssignToEmployee"), data[key].RecordNumber, value.PersID));
            }
        }
Exemplo n.º 20
0
 /// <summary>
 /// 將 CSV 檔案 Import 到指定的 DataTable 中
 /// </summary>
 public static void CSV2DataTable(bool clear, DataTable _DataTable, string _FileName, Encoding _Encoding)
 {
     if (clear)
     {
         _DataTable.Clear();
     }
     using (CachedCsvReader csv = new CachedCsvReader(new StreamReader(_FileName, _Encoding), true))
     {
         _DataTable.Load(csv);
     }
 }
Exemplo n.º 21
0
        private void ReadMaterialsCsv()
        {
            // open the file which is a CSV file with headers
            string CSVFile = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), Settings.Default.tablesDir, "materials.csv");

            using (CachedCsvReader csv = new  CachedCsvReader(new StreamReader(CSVFile), true))
            {
                // Field headers will automatically be used as column names
                dataGridViewMaterials.DataSource = csv;
            }
        }
Exemplo n.º 22
0
        public DataTable Import(String path)
        {
            var dataTable = new DataTable();

            using (CachedCsvReader csv = new CachedCsvReader(new StreamReader(path), true)){
                int fieldCount = csv.FieldCount;

                string[] headers = csv.GetFieldHeaders();

                for (int i = 0; i < fieldCount; i++)
                {
                    dataTable.Columns.Add(headers[i]);
                    switch (headers[i])
                    {
                    case "Lat":
                        dataTable.Columns[i].DataType = System.Type.GetType("System.Double");
                        break;

                    case "Lng":
                        dataTable.Columns[i].DataType = System.Type.GetType("System.Double");
                        break;

                    case "Date":
                        dataTable.Columns[i].DataType = System.Type.GetType("System.DateTime");
                        break;

                    default:
                        dataTable.Columns[i].DataType = System.Type.GetType("System.String");
                        break;
                    }
                }

                while (csv.ReadNextRecord())
                {
                    DataRow dr = dataTable.NewRow();
                    for (int i = 0; i < fieldCount; i++)
                    {
                        dr[headers[i]] = csv[i].ToString().Replace("\"", "");
                    }

                    bool missing = false;
                    for (int i = 0; i < fieldCount; i++)
                    {
                        missing = dr[i].ToString() == "" ? true : false;
                    }
                    if (!missing)
                    {
                        dataTable.Rows.Add(dr);
                    }
                }
            }
            return(dataTable);
        }
Exemplo n.º 23
0
        public static DataTable ReadFile(string Filename = "input.txt")
        {
            char      delimiter = '\t';
            DataTable Projects  = new DataTable();

            // open the input file
            using (var csv = new CachedCsvReader(new StreamReader(Filename), true, delimiter))
            {
                Projects.Load(csv);
            }
            return(Projects);
        }
Exemplo n.º 24
0
        public static void GenerateRTUTagInfo(string path = @".\")
        {
            var       overrideFile = path + "_equipmentoverrides.csv";
            DataTable dt           = new DataTable();

            dt.Columns.Add("RTUName");
            dt.Columns.Add("TagName");
            dt.Columns.Add("Type");
            dt.Columns.Add("Index");
            dt.Columns.Add("RelayName");
            dt.Columns.Add("RelayAddress");
            dt.Columns.Add("ScaleFactor");
            dt.Columns.Add("DeviceIndex");

            var files = Directory.GetFiles(path + @"rtu\", "*.cfg");

            foreach (var file in files)
            {
                SCD5200TagReader rtu = new SCD5200TagReader(file);
                rtu.ReadIeds();
                rtu.ProcessTags(dt);
            }

            //override the equipment from the equipment map
            Dictionary <string, string> overrides = new Dictionary <string, string>();

            using (CachedCsvReader csv = new CachedCsvReader(new StreamReader(new FileStream(overrideFile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)), true))
            {
                while (csv.ReadNextRecord())
                {
                    overrides.Add(csv["OldEquipment"], csv["NewEquipment"]);
                }
            }

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                string tagName   = dt.Rows[i]["TagName"] as string;
                string equipment = dt.Rows[i]["DeviceIndex"] as string;

                if (overrides.ContainsKey(equipment))
                {
                    dt.Rows[i]["RelayName"] = overrides[equipment];
                }
                else
                {
                    //TODO: won't need this after sorting out deviceindexdebarcle
                    dt.Rows[i]["RelayName"] = equipment;
                }
            }

            Util.ExportDatatable(dt, path + "_rtutaginfo.csv");
        }
Exemplo n.º 25
0
        internal static void ReadCsv(CsvEditor form, bool withHeader, char delimiter, char quote)
        {
            Form1          form1           = (Form1)form.Owner;
            XtraTabControl pagesTabControl = form1.pagesTabControl;
            DataGridView   csvGridView     = form.csvGridView;
            //ContextMenuStrip contentContextMenuStrip = form.contentContextMenuStrip;

            Encoding textEncoding = EncodingUtil.GetDefaultEncoding();
            String   text         = String.Empty;

            if (pagesTabControl != null)
            {
                textEncoding = TabUtil.GetTabTextEncoding(pagesTabControl.SelectedTabPage);
                text         = ProgramUtil.GetPageTextBox(pagesTabControl.SelectedTabPage).Text;
            }

            byte[] byteArray = textEncoding.GetBytes(text);
            using (MemoryStream stream = new MemoryStream(byteArray))
            {
                try
                {
                    using (CachedCsvReader csv = new CachedCsvReader(new StreamReader(stream), withHeader, delimiter, quote, '\\', '#', ValueTrimmingOptions.UnquotedOnly))
                    {
                        csv.DefaultParseErrorAction = ParseErrorAction.AdvanceToNextLine;
                        csv.SkipEmptyLines          = true;

                        if (String.IsNullOrEmpty(csv[0, 0]))
                        {
                            WindowManager.ShowAlertBox(form, LanguageUtil.GetCurrentLanguageString("NoResults", className));
                        }

                        //PutCsvReaderIntoDataGrid(csv, csvGridView);
                        csvGridView.Columns.Clear();
                        csvGridView.DataSource = ConvertCsvReaderToDataTable(csv);
                    }

                    //for (int i = 0; i < csvGridView.Rows.Count; i++)
                    //{
                    //    for (int j = 0; j < csvGridView.Rows[i].Cells.Count; j++)
                    //    {
                    //        csvGridView.Rows[i].Cells[j].ContextMenuStrip = contentContextMenuStrip;
                    //    }
                    //}
                }
                catch (Exception exception)
                {
                    WindowManager.ShowErrorBox(form, LanguageUtil.GetCurrentLanguageString("ContentError", className), exception);
                }
            }

            csvGridView.Refresh();
        }
        private bool write2FreeFormat(string resultsForOneYear, int[] fields, StreamWriter writer, bool needWriteHeader, FormatType format)
        {
            StringBuilder sb = new StringBuilder();

            using (CachedCsvReader csv = new CachedCsvReader(new StringReader(resultsForOneYear), true))
            {
                if (csv.FieldCount < 27)
                {
                    return(false);
                }

                string date = "";
                if (needWriteHeader)
                {
                    string[] fieldNames = csv.GetFieldHeaders();
                    sb.Append(formatFreeFormatData(fieldNames[0], format, true));

                    foreach (int field in fields)
                    {
                        if (format == FormatType.SIMPLE_CSV)
                        {
                            sb.Append(",");
                        }
                        sb.Append(formatFreeFormatData(fieldNames[field], format, false));
                    }
                    sb.AppendLine();
                }
                while (csv.ReadNextRecord())
                {
                    date = csv[0];
                    sb.Append(formatFreeFormatData(date, format, true));

                    foreach (int field in fields)
                    {
                        if (format == FormatType.SIMPLE_CSV)
                        {
                            sb.Append(",");
                        }
                        sb.Append(formatFreeFormatData(csv[field], format, false));
                    }
                    sb.AppendLine();
                }

                checkLastDayofYear(date);
            }
            if (sb.Length > 0)
            {
                writer.Write(sb.ToString());
            }

            return(sb.Length > 0);
        }
Exemplo n.º 27
0
        public ObservableCollection <ObservableCollection <CellContent> > ParseCsvStreamToData(Stream stream)
        {
            using (var reader = new StreamReader(stream))
            {
                using (var csv = new CachedCsvReader(reader, true))
                {
                    var list = new ObservableCollection <ObservableCollection <CellContent> >();

                    var colCount         = csv.Columns.Count;
                    var columnCollection = new ObservableCollection <CellContent>();

                    if (!csv.ReadNextRecord())
                    {
                        return(list);
                    }

                    for (var index = 0; index < csv.Columns.Count; index++)
                    {
                        Column column = csv.Columns[index];
                        columnCollection.Add(new CellContent(column.Name)
                        {
                            Column = index
                        });
                    }
                    list.Add(columnCollection);

                    // Field headers will automatically be used as column names
                    while (true)
                    {
                        columnCollection = new ObservableCollection <CellContent>();
                        for (int index = 0; index < csv.Columns.Count; index++)
                        {
                            var colValue = csv[index];
                            columnCollection.Add(new CellContent(colValue)
                            {
                                Column = index
                            });
                        }

                        list.Add(columnCollection);

                        if (!csv.ReadNextRecord())
                        {
                            break;
                        }
                    }

                    return(list);
                }
            }
        }
Exemplo n.º 28
0
        protected override void readCSVFile(CachedCsvReader csv)
        {
#if (UseHeaders)
            int systemID1Index   = csv.GetFieldIndex(_VLID);
            int systemID2Index   = csv.GetFieldIndex(_CountryID);
            int countryNameIndex = csv.GetFieldIndex(_CountryName);
#else
            int systemID1Index   = _VLIDIndex;
            int systemID2Index   = _CountryIDIndex;
            int countryNameIndex = _CountryNameIndex;
#endif
            Dictionary <string, Country> dbCountryHash = getDBCountryListSysKey();
            List <Country> importCountryList           = new List <Country>();

            Country country;
            while (csv.ReadNextRecord())
            {
                csvDataNextRow();
                string key = csv[systemID1Index];
                if (dbCountryHash.ContainsKey(key))
                {
                    country = dbCountryHash[key];
                }
                else
                {
                    country           = new Country();
                    country.SystemID2 = csv[systemID2Index];
                }
                country.Name            = csv[countryNameIndex];
                country.Import          = true;
                country.CountryLanguage = SharedConsts.NeutralLangId;
                country.LanguageID      = SharedConsts.NeutralLangId;
                country.SystemID1       = byte.Parse(csv[systemID1Index]);
                if (country.IsNew && !dbCountryHash.ContainsKey(key))
                {
                    dbCountryHash.Add(key, country);
                }
                if (!importCountryList.Contains(country))
                {
                    importCountryList.Add(country);
                }
                else
                {
                    message(string.Format(GetLocalized("CountryExists"), _CurrentRow, _VLID, key));
                }
            }
            csvDataEndRead();

            SaveOrUpdateList <Country>(_IContryServise, importCountryList);
        }
Exemplo n.º 29
0
        protected override void readCSVFile(CachedCsvReader csv)
        {
            _Data = new Dictionary <string, ImportFileTimeData>();
            while (csv.ReadNextRecord())
            {
                csvDataNextRow();
                string   persID = csv[_PersIDIndex];
                string   charID = csv[_AbsenceCharIDIndex];
                DateTime date   = DateTime.ParseExact(csv[_DateIndex], "yyyyMMdd", null);
                short    begin  = getTimeInMinutes(csv[_BeginIndex]);
                short    end    = getTimeInMinutes(csv[_EndIndex]);
                string   key    = persID.ToString() + charID + csv[_DateIndex] + begin.ToString() + end.ToString();
                if (!_Data.ContainsKey(key))
                {
                    ImportTimeData awp = new ImportTimeData();
                    awp.PersID = persID;
                    awp.CharID = charID;
                    awp.Date   = date;
                    awp.Begin  = begin;
                    awp.End    = end;
                    _Data.Add(key, new ImportFileTimeData(_CurrentRow, awp));
                }
                else
                {
                    message(
                        string.Format(GetLocalized("TimePlanningExists"), _CurrentRow, persID, date, charID, begin, end));
                }
            }
            csvDataEndRead();

            List <ImportTimeData> list = new List <ImportTimeData>(_Data.Count);

            foreach (ImportFileTimeData value in _Data.Values)
            {
                list.Add(value.Data);
            }
            _EmployeeTimeService.OperationComplete += new OperationCompleteDelegate(employeeTimeService_OnOperationComplete);
            try
            {
                _EmployeeTimeService.ImportTime(list, _ImportTimeType);
                while (_ImportRunning)
                {
                    Thread.Sleep(1000);
                }
            }
            finally
            {
                _EmployeeTimeService.OperationComplete -= new OperationCompleteDelegate(employeeTimeService_OnOperationComplete);
            }
        }
Exemplo n.º 30
0
        private void LoadCSVFile(String filename)
        {
            this.csvDisplayGrid.DataSource = null;
            this.csvDisplayGrid.Columns.Clear();
            this.csvDisplayGrid.Rows.Clear();

            lock (this.flag)
            {
                this.queue      = new List <UserState>();
                this.retryQueue = new List <UserState>();
            }


            Stream f = File.Open(filename, FileMode.Open);

            using (CachedCsvReader csv = new CachedCsvReader(new StreamReader(f, Encoding.UTF8), true))
            {
                this.csvDisplayGrid.DataSource = csv;
                while (this.csvDisplayGrid.Columns.Count > COLUMN_MAX)
                {
                    this.csvDisplayGrid.Columns.RemoveAt(6);
                }
                if (this.csvDisplayGrid.Columns.Count != COLUMN_MAX)
                {
                    MessageBox.Show("The file " + filename + " is not in the correct format");
                    this.csvDisplayGrid.DataSource = null;
                }
            }


            // now add a status column
            DataGridViewColumn status = new DataGridViewColumn();

            status.Name         = "Upload Status";
            status.CellTemplate = new DataGridViewTextBoxCell();
            this.csvDisplayGrid.Columns.Add(status);

            DataGridViewColumn vid = new DataGridViewColumn();

            vid.Name         = "Video ID";
            vid.CellTemplate = new DataGridViewTextBoxCell();
            this.csvDisplayGrid.Columns.Add(vid);

            this.Upload.Enabled = true;

            SetTitle();

            Trace.TraceInformation("Loaded csv file: " + filename + "successfully");
        }