public List <AlarmList> exeGetListCSV() { RestEventArgs args = new RestEventArgs(); args.UpdatePost = (int)EventLogPosition.CSV_STATUS; this._listAlarm.Clear(); try { //_CSVFile = @"\\10.20.86.210\ExportDB\AlarmList.csv"; // string csvFile = @"c:\ExportDB\AlarmList.csv"; #if true FileInfo file = new FileInfo(this._connCfg.CsvFile); var DateModification = file.LastWriteTime; if (_CSVLastModify == DateModification) { Console.WriteLine("CSV not Update"); return(null); } _CSVLastModify = DateModification; Console.WriteLine("CSV Last Modification : " + DateModification); int nRetry_read = 0; do //Retry tor Read CSV File { Thread.Sleep(TimeSpan.FromSeconds(1)); if (nRetry_read++ >= 10) { args.message = "Read CSV Fail"; args.TimeStamp = DateTime.Now; //args.UpdatePost = (int)EventLogPosition.CSV_STATUS; //this.m_dLastReadCSV = args.TimeStamp; onRestAlarmCSVChanged(args); //Raise the Event return(null); } } while (IsFileLocked(this._connCfg.CsvFile)); this._listAlarm = File.ReadLines(this._connCfg.CsvFile) .Skip(1) .Select(line => AlarmList.GetLineAlarmListCsv(line)) .ToList(); dLastReadCSV = DateTime.Now; args.message = "Read CSV Success"; args.TimeStamp = this.dLastReadCSV; onRestAlarmCSVChanged(args); //Raise the Event return(this._listAlarm); #else //Oldcode DataTable dt = new DataTable("AlarmList"); using (TextFieldParser parser = new TextFieldParser(csvFile)) { parser.Delimiters = new string[] { "," }; int iLine = 0; while (true) { string[] parts = parser.ReadFields(); if (parts == null) { break; } if (iLine++ == 0) { for (int iCol = 0; iCol < parts.Length; iCol++) { dt.Columns.Add(parts[iCol]); } continue; } dt.Rows.Add(parts); } //dt.DefaultView.Sort = "DATETIME"; dt = dt.DefaultView.ToTable(); for (int iRow = 0; iRow < dt.Rows.Count; iRow++) { DataRow row = dt.Rows[iRow]; DigitalAlarm al = new DigitalAlarm(row); this.m_listAlarm.Add(al); } this.m_dLastReadCSV = DateTime.Now; return(true); } #endif } catch (Exception e) { Console.WriteLine(e.ToString()); args.message = "Read CSV Fail"; args.TimeStamp = DateTime.Now; //this.m_dLastReadCSV = args.TimeStamp; onRestAlarmCSVChanged(args); //Raise the Event return(null); } }
public bool ReadRptFile() { this.m_listEventLogs.Clear(); try { string csvFile = @"C:\Users\OP\Desktop\January 2016\January 04.rpt"; #if false //Oldcode DataTable dt = new DataTable("AlarmList"); using (TextFieldParser parser = new TextFieldParser(csvFile)) { parser.Delimiters = new string[] { "," }; int iLine = 0; while (true) { string[] parts = parser.ReadFields(); if (parts == null) { break; } if (iLine++ == 0) { for (int iCol = 0; iCol < parts.Length; iCol++) { dt.Columns.Add(parts[iCol]); } continue; } dt.Rows.Add(parts); } //dt.DefaultView.Sort = "DATETIME"; dt = dt.DefaultView.ToTable(); for (int iRow = 0; iRow < dt.Rows.Count; iRow++) { DataRow row = dt.Rows[iRow]; DigitalAlarm al = new DigitalAlarm(row); this.m_listAlarm.Add(al); } this.m_dLastReadCSV = DateTime.Now; return(true); } #else this.m_listEventLogs = File.ReadLines(csvFile) .Skip(4) .Select(line => GetLineEventRptFile(line)) .Where(line => line.Event.Contains(this.m_strSearchEventParse)) .Where(line => line.Event.Contains("")) .ToList(); //this.m_dLastReadCSV = DateTime.Now; return(true); #endif } catch (Exception e) { Console.WriteLine(e.ToString()); return(false); } }
public bool ReadAnalogCSV() { this.m_listAnalogPoint.Clear(); try { string csvFile = @"\\10.20.86.210\ExportDB\Analog.csv"; #if false //Oldcode DataTable dt = new DataTable("AlarmList"); using (TextFieldParser parser = new TextFieldParser(csvFile)) { parser.Delimiters = new string[] { "," }; int iLine = 0; while (true) { string[] parts = parser.ReadFields(); if (parts == null) { break; } if (iLine++ == 0) { for (int iCol = 0; iCol < parts.Length; iCol++) { dt.Columns.Add(parts[iCol]); } continue; } dt.Rows.Add(parts); } //dt.DefaultView.Sort = "DATETIME"; dt = dt.DefaultView.ToTable(); for (int iRow = 0; iRow < dt.Rows.Count; iRow++) { DataRow row = dt.Rows[iRow]; DigitalAlarm al = new DigitalAlarm(row); this.m_listAlarm.Add(al); } this.m_dLastReadCSV = DateTime.Now; return(true); } #else m_listAnalogPoint = File.ReadLines(csvFile) .Skip(1) .Select(line => GetLineAnalogCsv(line)) .Where(line => line.ShortName.Contains(this.Str60CAParse)) .ToList(); //this.m_dLastReadCSV = DateTime.Now; return(true); #endif } catch (Exception e) { Console.WriteLine(e.ToString()); return(false); } }