Пример #1
0
        private void btnOpen_Click(object sender, EventArgs e)
        {
            if (rbSrez.Checked)
            {
                dataTable = new DataTable("SrezTable");
                SrezAdapter sa = new SrezAdapter();
                sa.FileName = txtFileName.Text;
                sa.Fill(dataTable);
            }
            else if (rbEvent.Checked)
            {
                dataTable = new DataTable("EventTable");
                EventAdapter ea = new EventAdapter();
                ea.FileName = txtFileName.Text;
                ea.Fill(dataTable);
            }
            else // rbBase.Checked
            {
                dataTable = new DataTable("BaseTable");
                BaseAdapter ba = new BaseAdapter();
                ba.FileName = txtFileName.Text;
                ba.Fill(dataTable, true);
            }

            dataGridView.DataSource = dataTable;
        }
Пример #2
0
        /// <summary>
        /// Экспортировать события, загрузив их из файла
        /// </summary>
        private void ExportEventsFromFile(Exporter exporter, DateTime date)
        {
            // загрузка таблицы событий из файла
            EventTableLight eventTable   = new EventTableLight();
            EventAdapter    eventAdapter = new EventAdapter();

            eventAdapter.FileName = ServerUtils.BuildEvFileName(Settings.ArcDir, date);

            try
            {
                eventAdapter.Fill(eventTable);
            }
            catch (Exception ex)
            {
                log.WriteAction(string.Format(Localization.UseRussian ?
                                              "Ошибка при загрузке таблицы событий из файла {0}: {1}" :
                                              "Error loading event table from file {0}: {1}", eventAdapter.FileName, ex.Message));
            }

            // добавление событий в очередь экспорта
            if (eventTable.AllEvents.Count > 0)
            {
                foreach (EventTableLight.Event ev in eventTable.AllEvents)
                {
                    exporter.EnqueueEvent(ev);
                }
                log.WriteAction(Localization.UseRussian ? "События добавлены в очередь экспорта" :
                                "Events added to export queue");
            }
            else
            {
                log.WriteAction(Localization.UseRussian ? "Отсутствуют события для экспорта" :
                                "No events to export");
            }
        }
Пример #3
0
 /// <summary>
 /// Loads the event table.
 /// </summary>
 private bool LoadEventTable(DataTable table)
 {
     try
     {
         eventAdapter.FileName = FileName;
         eventAdapter.Fill(table);
         return(true);
     }
     catch (Exception ex)
     {
         errLog.WriteException(ex, ServerShellPhrases.LoadEventTableError);
         ScadaUiUtils.ShowError(ServerShellPhrases.LoadEventTableError + ": " + ex.Message);
         return(false);
     }
 }
Пример #4
0
 /// <summary>
 /// Download event table
 /// </summary>
 private static bool LoadDataTable(EventAdapter eventAdapter, Log errLog, ref DataTable dataTable)
 {
     try {
         eventAdapter.Fill(dataTable);
         return(true);
     } catch (Exception ex) {
         string errMsg = AppPhrases.LoadEventTableError + ":\r\n" + ex.Message;
         if (errLog != null)
         {
             errLog.WriteAction(errMsg, Log.ActTypes.Exception);
         }
         ScadaUiUtils.ShowError(errMsg);
         return(false);
     }
 }
Пример #5
0
        private void btnOpen_Click(object sender, EventArgs e)
        {
            try
            {
                if (rbSnapshot.Checked)
                {
                    dataTable = new DataTable("SrezTable");
                    srezTable = new SrezTable();
                    SrezAdapter sa = new SrezAdapter();
                    sa.FileName = txtFileName.Text;
                    sa.Fill(dataTable);
                    sa.Fill(srezTable);
                    dataTable.RowChanged += DataTable_RowChanged;
                    dataTable.Columns["DateTime"].ReadOnly = true;
                    dataTable.Columns["CnlNum"].ReadOnly   = true;
                }
                else if (rbEvent.Checked)
                {
                    dataTable = new DataTable("EventTable");
                    srezTable = null;
                    EventAdapter ea = new EventAdapter();
                    ea.FileName = txtFileName.Text;
                    ea.Fill(dataTable);
                }
                else // rbBase.Checked
                {
                    dataTable = new DataTable("BaseTable");
                    srezTable = null;
                    BaseAdapter ba = new BaseAdapter();
                    ba.FileName = txtFileName.Text;
                    ba.Fill(dataTable, true);
                }

                dataTable.DefaultView.AllowNew  = !rbSnapshot.Checked;
                dataTable.DefaultView.AllowEdit = true;
                dataGridView.DataSource         = dataTable;
            }
            catch (Exception ex)
            {
                dataTable = null;
                ScadaUiUtils.ShowError(ex.Message);
            }
            finally
            {
                ShowRecordCount();
            }
        }
Пример #6
0
        /// <summary>
        /// Loads events from file and adds to the queue.
        /// </summary>
        private void ExportEventsFromFile(DateTime minDT, DateTime maxDT)
        {
            if (minDT.Date != maxDT.Date)
            {
                log.WriteError(Localization.UseRussian ?
                               "Временной диапазон событий должен быть в пределах одних суток" :
                               "The time range of events must be within one day");
                return;
            }

            string fileName = ServerUtils.BuildEvFileName(arcDir, minDT.Date);

            if (!File.Exists(fileName))
            {
                log.WriteError(string.Format(CommonPhrases.NamedFileNotFound, fileName));
                return;
            }

            try
            {
                EventTableLight eventTable   = new EventTableLight();
                EventAdapter    eventAdapter = new EventAdapter {
                    FileName = fileName
                };
                eventAdapter.Fill(eventTable);

                foreach (EventTableLight.Event ev in eventTable.AllEvents)
                {
                    if (minDT <= ev.DateTime && ev.DateTime <= maxDT)
                    {
                        EnqueueEvent(ev);
                    }
                }
            }
            catch (Exception ex)
            {
                log.WriteException(ex, Localization.UseRussian ?
                                   "Ошибка при загрузке событий из файла {0}" :
                                   "Error loading events from file {0}", fileName);
            }
        }