コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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);
            }
        }