private void RequestComplete(PackageResults packageRes, CommResults comRes, AckResults ackType, string strTag, PackageBase pack) { if (ackType != AckResults.ok || comRes != CommResults.ok || packageRes != PackageResults.ok) { if (strTag == "SetSaveSendCardsParameters") { _isSaveToHWSuccessful = false; } if (strTag == "SetParameterStore2SpiFlash") { string msg = ""; msg = "保存信息到硬件失败!"; GetLangString(msg, "Lang_ScreenInfo_SaveDataFailt", out msg); SendTextToMessageBox(msg, MessageBoxImage.Error); CloseProcessForm(); return; } if (strTag == "SetReturnFactoryValues") { string msg = ""; msg = "返回出厂设置失败!"; GetLangString(msg, "Lang_ScreenInfo_ReturnFactoryData", out msg); SendTextToMessageBox(msg, MessageBoxImage.Error); CloseProcessForm(); return; } } else { if (strTag == "SetParameterStore2SpiFlash") { CustomTransform.Delay(SpecialPackTimeOut.SAVE_PARAMS_TIMEOUT * 1000, 60); string msg = string.Empty; msg = "保存信息到硬件成功!"; GetLangString(msg, "Lang_ScreenInfo_SendToHWSuccess", out msg); _isSendDataToHW = false; //if (_globalParams.AllBaseInfo.AllInfoDict.ContainsKey(pack.PortName)) //{ // List<ILEDDisplayInfo> infoList = _globalParams.AllBaseInfo.AllInfoDict[pack.PortName].LEDDisplayInfoList; // infoList.Clear(); // for (int i = 0; i < _oldDisplayList.Count; i++) // { // infoList.Add(_oldDisplayList[i]); // } //} SendTextToMessageBox(msg, MessageBoxImage.Exclamation); CloseProcessForm(); Messenger.Default.Send<string>("", MsgToken.MSG_SCREENINFO_CHANGED); } else if (strTag == "SetReturnFactoryValues") { SpecialPackageRequest spcPack = new SpecialPackageRequest(SpecialPackID.RETURN_FACTORY_ID, SpecialPackTimeOut.RETURN_FACTORY); int curID; _serverProxy.SendEndRequestSpecialPacke(spcPack, out curID); RedundancyInfoAccessor reduInfoAccessor = new RedundancyInfoAccessor(_serverProxy, _hwCardType, _selectedPortName); HWSoftwareSpaceRes res = reduInfoAccessor.ClearHWReduInfo(OnClearReduInfoComplete); if (res != HWSoftwareSpaceRes.OK) { string msg = ""; msg = "返回出厂设置失败!"; GetLangString(msg, "Lang_ScreenInfo_ReturnFactoryData", out msg); SendTextToMessageBox(msg,MessageBoxImage.Error); CloseProcessForm(); return; } } } }
private void SendSaveParams(string selectedPortName) { string msg = string.Empty; if (!_isSaveToHWSuccessful) { msg = "保存信息到硬件失败!"; GetLangString(msg, "Lang_ScreenInfo_SaveDataFailt", out msg); SendTextToMessageBox(msg, MessageBoxImage.Error); CloseProcessForm(); return; } #region 参数保存 SpecialPackageRequest spcPack = null; int savaStore2SpiFlashTimeOut = CommandTimeOut.SENDER_SAVEPARAMS_TIMEOUT; if (_serverProxy is LCTServerMessageProxy) { spcPack = new SpecialPackageRequest(SpecialPackID.SAVE_PARAMS_ID, SpecialPackTimeOut.SAVE_PARAMS_TIMEOUT); savaStore2SpiFlashTimeOut = CommandTimeOut.SENDER_SAVEPARAMS_TIMEOUT; } else { spcPack = new SpecialPackageRequest(SpecialPackID.SAVE_PARAMS_ID, (ushort)(SpecialPackTimeOut.SAVE_PARAMS_TIMEOUT + 10000)); savaStore2SpiFlashTimeOut = CommandTimeOut.SENDER_SAVEPARAMS_TIMEOUT + 10000; } int curPackID; bool res = _serverProxy.SendStartRequestSpecialPacke(spcPack, out curPackID); if (!res) { msg = "服务正在处理其他请求,请稍后再试......"; GetLangString(msg, "Lang_ScreenInfo_ServiceBusy", out msg); SendTextToMessageBox(msg,MessageBoxImage.Error); CloseProcessForm(); return; } PackageRequestWriteData writeData; if (_serverProxy != null) { writeData = TGProtocolParser.SetSaveSendCardsParameters(selectedPortName, SystemAddress.SENDER_BROADCAST_ADDRESS, CommandTimeOut.SENDER_SAVEPARAMS_TIMEOUT, "SetSaveSendCardsParameters", false, 0, null, CompleteRequestDealing); writeData.Reserved2 = SpecialPackID.SAVE_PARAMS_ID; _serverProxy.SendRequestWriteData(writeData); writeData = TGProtocolParser.SetParameterStore2SpiFlash(selectedPortName, SystemAddress.SENDER_BROADCAST_ADDRESS, SystemAddress.PORT_BROADCAST_ADDRESS, SystemAddress.SCANBOARD_BROADCAST_ADDRESS, savaStore2SpiFlashTimeOut, "SetParameterStore2SpiFlash", false, 0, null, CompleteRequestDealing); writeData.Reserved2 = SpecialPackID.SAVE_PARAMS_ID; _serverProxy.SendRequestWriteData(writeData); } #endregion }