コード例 #1
0
        public void Start(PluginMonitor databaseMonitor, PluginMonitor dasMonitor)
        {
            try
            {
#if DEBUG
                var hexString      = "01 03 1E 00 00 00 00 00 00 00 00 42 C7 D0 13 00 00 41 D0 0A F1 00 00 41 EA 80 00 00 00 41 EE CF 38 6F 91";
                var bytes          = ByteHelper.HexStringToByteArray(hexString);
                var substationData = new SubStationData(1, bytes.Skip(3).Take(0x1E).ToArray());
#endif
                _databaseMonitor = databaseMonitor;
                _dasMonitor      = dasMonitor;
                _dases.AddRange(InitDas());
                _dases.ToList().ForEach(o => o.Start());
                _customCommandService.Start();
                _customCommandService.ConfigMonitoringServerEvent += CustomCommandService_ConfigMonitoringServerEvent;
                _customCommandService.ConfigSubstationEvent       += CustomCommandService_ConfigSubstationEvent;
                _customCommandService.ConfigFluxEvent             += CustomCommandService_ConfigFluxEvent;
                _dataBulkService.Start(_databaseMonitor);
                DasConfig.Repo.EndAlarmToday();
                DasConfig.Repo.EndAnalogAlarm();
            }
            catch (Exception ex)
            {
                LogD.Error(ex.ToString());
            }
        }
コード例 #2
0
        public PluginMonitorViewModel(PluginMonitor pluginMonitor)
        {
            _pluginMonitor             = pluginMonitor;
            _pluginMonitor.WatchEvent += _pluginMonitor_WatchEvent;
            _dataSource = new DataTable();
            LoadCommand = new RelayCommand <RoutedEventArgs>(DataGridLoad);
            AutoGeneratingColumnCommand = new RelayCommand <DataGridAutoGeneratingColumnEventArgs>(AutoGeneratingColumn);

            if (_pluginMonitor.Columns != null)
            {
                foreach (var column in _pluginMonitor.Columns)
                {
                    _dataSource.Columns.Add(new DataColumn(column));
                }
                if (_pluginMonitor.PrimaryKeys != null)
                {
                    if (!_pluginMonitor.PrimaryKeys.All(o => _pluginMonitor.Columns.Any(t => t == o)))
                    {
                        throw new ArgumentOutOfRangeException("主键应该在所有列明中间产生。");
                    }
                    _dataSource.PrimaryKey = _pluginMonitor.PrimaryKeys.Select(o => _dataSource.Columns[o]).ToArray();
                }
            }
            _primaryColumnIndexes = _dataSource.PrimaryKey.Select(o => o.Ordinal).ToArray();
        }