Example #1
0
        static void Main()
        {
            Application.CurrentCulture = new System.Globalization.CultureInfo("ru-Ru");
            Application.SetUnhandledExceptionMode(UnhandledExceptionMode.Automatic);

            AppDomain.CurrentDomain.UnhandledException +=
                new UnhandledExceptionEventHandler(EventHandler_CurrentDomain_UnhandledException);
            Application.ThreadException +=
                new System.Threading.ThreadExceptionEventHandler(EventHandler_Application_ThreadException);

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            // Создаём объект для ведения логов приложения
            //_Logger = LogManager.GetCurrentClassLogger();
            _Logger = LogManager.GetLogger("CorrosionMonitoringSystemLogger");
            _Logger.Info("Приложение запущено");

            // Data base layer 
            _NetworkManager = NetworksManager.Instance;

            try
            {
                _NetworkManager.LoadConfig(Application.StartupPath + 
                    @"\newtorkconfig.bin.nwc");
            }
            catch
            {
                MessageBox.Show("Ошибка при конфигурировании системы. " + 
                    "Приложение будет закрыто", 
                    "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                throw;
            }

            // Presentation layer
            CorrosionMonitoringSystemForm _PresentationForm = new CorrosionMonitoringSystemForm();

            // Business layer
            BLController controller = new BLController(_NetworkManager, _PresentationForm);

            Application.Run(_PresentationForm);
            
            _Logger.Info("Приложение остановлено");
        }
Example #2
0
        public BLController(NetworksManager networksManager, 
            CorrosionMonitoringSystemForm presenter)
        {
            _CanNetworksManager = networksManager;
            _CanNetworkAdapter = new CanNetworkServiceAdapter();

            _Presenter = presenter;
            _Presenter.Loaded += 
                new EventHandler(EventHandler_Presenter_Loaded);
            _Presenter.SystemButtonClick += 
                new SystemButtonClickEventHandler(
                EventHandler_Presenter_SystemButtonClick);
            
            // Инициализируем сводную таблицу параметров //TODO
            int x = 0;
            _PivotTable = new ParametersPivotTable(
                _CanNetworksManager.Networks[x].Devices.ToArray()); //NETWORK_CAN_0
            _PivotTable.TableWasUpdated += 
                new EventHandler(EvetnHandler_PivotTable_TableWasUpdated);


            // Настраиваем сеть Modbus
            _ModbusNetworkAdapter = new ModbusServiceAdapter();

            // Настраиваем таймер
            _GeneralTimer = new Timer();
            _GeneralTimer.Interval = 1000;
            _GeneralTimer.Tick += new EventHandler(EventHandler_GeneralTimer_Tick);

            _ModbusNetworkAdapter.Start();
        }