Beispiel #1
0
        public void AddCommonConnectionEvent(DeviceConnectionState State, string Message)
        {
            m_ActionQueue.Enqueue(delegate
            {
                switch (State)
                {
                case DeviceConnectionState.ConnectionSuccess:
                    Cache.Main.VM.IsSafetyBreakIconVisible = !Cache.Net.GetButtonState(ComplexButtons.ButtonSC1);

                    var stateService       = Cache.Net.GetStateService;
                    Cache.Main.VM.SyncMode = stateService.SyncMode;
                    Cache.Main.VM.MmeCode  = stateService.MmeCode;

                    BackgroundWorker worker = new BackgroundWorker();
                    worker.DoWork          += (sender, args) =>
                    {
                        try
                        {
                            Cache.DatabaseProxy.ClearCacheByMmeCode(stateService.MmeCode);
                            Cache.DatabaseProxy.GetProfilesDeepByMmeCode(stateService.MmeCode);
                        }
                        catch (Exception e)
                        {
                            args.Result = e;
                        }
                    };
                    worker.RunWorkerCompleted += (sender, args) =>
                    {
                        Cache.Welcome.IsRestartEnable = true;
                        Cache.Welcome.State(ComplexParts.Sync, DeviceConnectionState.ConnectionSuccess, string.Empty);

                        if (args.Result is Exception ex)
                        {
                            new DialogWindow("Error", ex.ToString()).ShowDialog();
                        }

                        Cache.Welcome.IsBackEnable = true;
                        Cache.Main.mainFrame.Navigate(Cache.UserWorkMode);
                    };
                    worker.RunWorkerAsync();

                    break;

                case DeviceConnectionState.ConnectionFailed:
                    Cache.Welcome.IsRestartEnable = true;
                    break;

                case DeviceConnectionState.DisconnectionError:
                case DeviceConnectionState.DisconnectionSuccess:
                    if (Cache.Main.IsNeedToRestart)
                    {
                        m_Net.Initialize(Cache.Main.Param);
                    }
                    break;
                }
            });
Beispiel #2
0
        public void AddCommonConnectionEvent(DeviceConnectionState State, string Message)
        {
            m_ActionQueue.Enqueue(delegate
            {
                switch (State)
                {
                case DeviceConnectionState.ConnectionSuccess:
                    {
                        //Cache.Calibration.PatchClamp();
                        Cache.Main.mainFrame.Navigate(Cache.ActivationWorkPage);         //Cache.SctuPage
                        Cache.Welcome.IsRestartEnable = true;
                        Cache.Welcome.IsBackEnable    = true;

                        if (Settings.Default.FTDIPresent)
                        {
                            Cache.FTDI.LedRedSwitch(false);
                            Cache.FTDI.LedGreenSwitch(false);
                        }

                        Cache.Main.IsSafetyBreakIconVisible = !Cache.Net.GetButtonState(ComplexButtons.ButtonSC1);
                    }
                    break;

                case DeviceConnectionState.ConnectionFailed:
                    {
                        Cache.Welcome.IsRestartEnable = true;

                        if (Settings.Default.FTDIPresent)
                        {
                            Cache.FTDI.LedGreenSwitch(false);
                            Cache.FTDI.LedRedBlinkStart();
                        }
                    }
                    break;

                case DeviceConnectionState.DisconnectionError:
                case DeviceConnectionState.DisconnectionSuccess:
                    {
                        if (Cache.Main.IsNeedToRestart)
                        {
                            m_Net.Initialize(Cache.Main.Param);
                        }

                        if (Settings.Default.FTDIPresent)
                        {
                            Cache.FTDI.LedRedSwitch(false);
                            Cache.FTDI.LedGreenSwitch(false);
                        }
                    }
                    break;
                }
            });
        }