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; } });
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; } }); }