예제 #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 ExportArcDataFromFile(Exporter exporter, DateTime dateTime)
        {
            // загрузка таблицы минутных срезов из файла
            SrezTableLight srezTable   = new SrezTableLight();
            SrezAdapter    srezAdapter = new SrezAdapter();

            srezAdapter.FileName = ServerUtils.BuildMinFileName(Settings.ArcDir, dateTime);

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

            // поиск среза на заданное время
            SrezTableLight.Srez srez = srezTable.GetSrez(dateTime);

            // добавление среза в очередь экспорта
            if (srez == null)
            {
                log.WriteAction(Localization.UseRussian ? "Отсутствуют архивные данные для экспорта" :
                                "No archive data to export");
            }
            else
            {
                exporter.EnqueueArcData(srez);
                log.WriteAction(Localization.UseRussian ? "Архивные данные добавлены в очередь экспорта" :
                                "Archive data added to export queue");
            }
        }
예제 #3
0
        /// <summary>
        /// Экспортировать текущие данные, загрузив их из файла
        /// </summary>
        private void ExportCurDataFromFile(Exporter exporter)
        {
            // загрузка текущего среза из файла
            SrezTableLight srezTable   = new SrezTableLight();
            SrezAdapter    srezAdapter = new SrezAdapter();

            srezAdapter.FileName = ServerUtils.BuildCurFileName(Settings.ArcDir);

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

            // добавление среза в очередь экспорта
            if (srezTable.SrezList.Count > 0)
            {
                SrezTableLight.Srez sourceSrez = srezTable.SrezList.Values[0];
                SrezTableLight.Srez srez       = new SrezTableLight.Srez(DateTime.Now, sourceSrez.CnlNums, sourceSrez);
                exporter.EnqueueCurData(srez);
                log.WriteAction(Localization.UseRussian ? "Текущие данные добавлены в очередь экспорта" :
                                "Current data added to export queue");
            }
            else
            {
                log.WriteAction(Localization.UseRussian ? "Отсутствуют текущие данные для экспорта" :
                                "No current data to export");
            }
        }
예제 #4
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();
            }
        }
예제 #5
0
 /// <summary>
 /// Loads the snapshot table.
 /// </summary>
 private bool LoadSnapshotTable(SrezTable table)
 {
     try
     {
         srezAdapter.FileName = FileName;
         srezAdapter.Fill(table);
         return(true);
     }
     catch (Exception ex)
     {
         errLog.WriteException(ex, ServerShellPhrases.LoadSnapshotTableError);
         ScadaUiUtils.ShowError(ServerShellPhrases.LoadSnapshotTableError + ": " + ex.Message);
         return(false);
     }
 }
예제 #6
0
 /// <summary>
 /// Download the slices table
 /// </summary>
 private static bool LoadSrezTable(SrezAdapter srezAdapter, Log errLog, ref SrezTable srezTable)
 {
     try {
         srezAdapter.Fill(srezTable);
         return(true);
     } catch (Exception ex) {
         string errMsg = AppPhrases.LoadSrezTableError + ":\r\n" + ex.Message;
         if (errLog != null)
         {
             errLog.WriteAction(errMsg, Log.ActTypes.Exception);
         }
         ScadaUiUtils.ShowError(errMsg);
         return(false);
     } finally {
         Cursor.Current = Cursors.Default;
     }
 }
예제 #7
0
            /// <summary>
            /// 填写切片表
            /// </summary>
            public static void FillSrezTable(SrezTable srezTable, SrezAdapter srezAdapter)
            {
                string fileName = srezAdapter.FileName;

                if (File.Exists(fileName))
                {
                    // 确定切片表文件的最后修改时间
                    DateTime fileModTime = File.GetLastWriteTime(fileName);

                    // 如果文件已更改,则加载数据
                    if (srezTable.FileModTime != fileModTime)
                    {
                        srezAdapter.Fill(srezTable);
                        srezTable.FileModTime = fileModTime;
                    }
                }
                else
                {
                    srezTable.Clear();
                }
            }
예제 #8
0
            /// <summary>
            /// Заполнить таблицу срезов
            /// </summary>
            public static void FillSrezTable(SrezTable srezTable, SrezAdapter srezAdapter)
            {
                string fileName = srezAdapter.FileName;

                if (File.Exists(fileName))
                {
                    // определение времени последнего изменения файла таблицы срезов
                    DateTime fileModTime = File.GetLastWriteTime(fileName);

                    // загрузка данных, если файл был изменён
                    if (srezTable.FileModTime != fileModTime)
                    {
                        srezAdapter.Fill(srezTable);
                        srezTable.FileModTime = fileModTime;
                    }
                }
                else
                {
                    srezTable.Clear();
                }
            }