public override void CloneFrom(NCasObject obj) { KeyBizData newObject = obj as KeyBizData; this.keyData = newObject.keyData; this.isLocal = newObject.isLocal; }
public override NCasObject CloneTo() { KeyBizData newObject = new KeyBizData(); newObject.keyData = this.keyData; newObject.isLocal = this.isLocal; return(newObject); }
/// <summary> /// 듀얼로 버튼키 데이터를 전달하기 위한 메소드 /// </summary> /// <param name="keyData"></param> public void SetKeyBizData(NCasKeyData keyData) { KeyBizData keyBizData = new KeyBizData(); keyBizData.IsLocal = true; keyBizData.KeyData = keyData; this.pAlmScreenBiz.AddBizData(keyBizData); }
/// <summary> /// 듀얼 시스템에서 수신받는 데이터 리시브 이벤트 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void dualSessionMng_RecvNetSessionClient(object sender, NCasNetSessionRecvEventArgs e) { if (e.Len == 1) { return; } byte[] tmpBuff = new byte[e.Len]; System.Buffer.BlockCopy(e.Buff, 0, tmpBuff, 0, e.Len); NCasKeyData dualKeyData = new NCasKeyData(tmpBuff); KeyBizData keyBizData = new KeyBizData(); keyBizData.IsLocal = false; keyBizData.KeyData = dualKeyData; this.pAlmScreenBiz.AddBizData(keyBizData); }
protected override void OnAsyncDispProcessing(NCASBIZ.NCasType.NCasObject param) { if (param is KeyBizData) { try { KeyBizData keyBizData = param as KeyBizData; if (keyBizData.IsLocal == true) { return; } this.mainForm.SetKeyDataFromDual(keyBizData.KeyData); } catch (Exception ex) { NCasLoggingMng.ILoggingException.WriteException("PAlmScreenBiz", "PAlmScreenBiz.OnAsyncDispProcessing Method - KeyBizData", ex); } } }
protected override void OnAsyncExternProcessing(NCASBIZ.NCasType.NCasObject param) { if (param is OrderBizData) { try { OrderBizData orderBizData = param as OrderBizData; if (orderBizData.IsLocal == false) { return; } if (orderBizData.AlmProtocol.GetDatas() == null) { NCasLoggingMng.ILogging.WriteLog("PAlmScreenBiz", "발령이 정상적으로 처리되지 않았습니다.", "TC " + orderBizData.AlmProtocol.TcCode.ToString()); return; } if (orderBizData.TtsOrderFlag) //마지막 발령이 TTS발령이면.. { byte[] tmpBuff = TtsControlDataMng.GetTtsStopData(); string teleServerIpAddr = NCasUtilityMng.INCasCommUtility.AddIpAddr(NCasUtilityMng.INCasCommUtility.MakeNetIdByAnyIp(this.provInfo.NetIdToString), 0, 0, 1, 111); udpSoc.SendTo(teleServerIpAddr, (int)NCasPortID.PortIdExtCallPgServer, tmpBuff); udpSoc.SendTo(NCasUtilityMng.INCasEtcUtility.GetIPv4(), (int)NCasPortID.PortIdExtCallPgMan, tmpBuff); } if (orderBizData.AllDestinationFlag) //시도전체 발령(무조건 1개 패킷 전송) { this.OrderProvAll(orderBizData); } else //하나의 발령에 의해 여러개의 패킷을 전송해야 하는 경우.. { if (orderBizData.IsEnd == PAlmScreenUIController.OrderDataSendStatus.First || orderBizData.IsEnd == PAlmScreenUIController.OrderDataSendStatus.None) { this.lstOrderBizData.Add(orderBizData); } else if (orderBizData.IsEnd == PAlmScreenUIController.OrderDataSendStatus.End || orderBizData.IsEnd == PAlmScreenUIController.OrderDataSendStatus.FirstEnd) { this.lstOrderBizData.Add(orderBizData); if (orderBizData.OrderDistFlag) //시군 전체/개별 발령 { this.OrderDistAll(); } else if (orderBizData.OrderTermFlag) //개별단말 발령 { this.OrderTerm(); } else if (orderBizData.OrderGroupFlag) //그룹 발령 { this.OrderGroup(); } this.lstOrderBizData.Clear(); } } } catch (Exception ex) { NCasLoggingMng.ILoggingException.WriteException("PAlmScreenBiz", "PAlmScreenBiz.OnAsyncExternProcessing Method - OrderBizData", ex); } } else if (param is KeyBizData) { try { KeyBizData keyBizData = param as KeyBizData; if (keyBizData.IsLocal == false) { return; } this.mainForm.SendKeyDataToDual(keyBizData.KeyData); } catch (Exception ex) { NCasLoggingMng.ILoggingException.WriteException("PAlmScreenBiz", "PAlmScreenBiz.OnAsyncExternProcessing Method - KeyBizData", ex); } } else if (param is NCasPlcProtocolBase) { try { NCasPlcProtocolBase nCasPlcProtocolBase = param as NCasPlcProtocolBase; byte[] buff = NCasPlcProtocolFactory.MakeFrame(nCasPlcProtocolBase); if (nCasPlcProtocolBase.GetDatas() == null) { NCasLoggingMng.ILogging.WriteLog("PAlmScreenBiz", "NCasPlcProtocolFactory.MakeFrame is null"); return; } if (buff == null) { NCasLoggingMng.ILogging.WriteLog("PAlmScreenBiz", "buff is null"); return; } this.udpSoc.SendTo(this.LoopBackIP, (int)NCasPipes.PipeNccDevCcd, buff); } catch (Exception ex) { NCasLoggingMng.ILoggingException.WriteException("PAlmScreenBiz", "PAlmScreenBiz.OnAsyncExternProcessing Method - NCasPlcProtocolBase", ex); } } }