コード例 #1
0
        public override void CloneFrom(NCasObject obj)
        {
            AutoOrderBizData newObject = obj as AutoOrderBizData;

            this.almProtocol = newObject.almProtocol;
            this.sendBuff    = newObject.sendBuff;
        }
コード例 #2
0
        public override NCasObject CloneTo()
        {
            AutoOrderBizData newObject = new AutoOrderBizData();

            newObject.almProtocol = this.almProtocol;
            newObject.sendBuff    = this.sendBuff;

            return(newObject);
        }
コード例 #3
0
        /// <summary>
        /// 발령 버튼 (즉시 발령)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void oklBtn_Click(object sender, EventArgs e)
        {
            NCasProtocolTc171 proto171 = NCasProtocolFactory.CreateCasProtocol(NCasDefineTcCode.TcAutoAlarmOrder) as NCasProtocolTc171;

            proto171.AlarmNetIdOrIpByString = "10.24.8.129"; //임시
            proto171.Media               = NCasDefineOrderMedia.MediaLine;
            proto171.CtrlKind            = NCasDefineControlKind.ControlAlarm;
            proto171.OrderTimeByDateTime = DateTime.Now;
            proto171.Sector              = NCasDefineSectionCode.SectionTerm;
            proto171.Source              = NCasDefineOrderSource.ProvCtrlRoom;
            proto171.RespReqFlag         = NCasDefineRespReq.ResponseReq;
            proto171.AuthenFlag          = NCasDefineAuthenticationFlag.EncodeUsed;
            proto171.AlarmKind           = NCasDefineOrderKind.WmaAutoAlarm;

            if (isWeather) //특보
            {
                proto171.Mode      = (WeatherOptionMng.LstWeatherOptionData[0].TestOrder == true) ? NCasDefineOrderMode.TestMode : NCasDefineOrderMode.RealMode;
                proto171.MsgNum1   = this.GetStoredMsgHeaderNumber(int.Parse(this.mainForm.GetWeatherKindData(cmd1).StoMsg.MsgNum));
                proto171.MsgNum2   = int.Parse(this.mainForm.GetWeatherKindData(cmd1).StoMsg.MsgNum);
                proto171.MsgNum3   = this.GetStoredMsgTailNumber(int.Parse(this.mainForm.GetWeatherKindData(cmd1).StoMsg.MsgNum));
                proto171.RepeatNum = (byte)this.mainForm.GetWeatherKindData(cmd1).StoMsg.RepeatCount;
                NCasLoggingMng.ILogging.WriteLog("특보 데이터 처리 - 의사결정", string.Format("자동방송 저장메시지 [{0}] 방송 실행함", proto171.MsgNum2.ToString()));
            }
            else //조위
            {
                try
                {
                    proto171.Mode = (HeightOptionMng.LstHeightOptionData[0].TestOrder == true) ? NCasDefineOrderMode.TestMode : NCasDefineOrderMode.RealMode;

                    if (cmd2.TideLevel >= HeightOptionMng.LstHeightOptionData[0].MaxValue && cmd2.TideLevel < HeightOptionMng.LstHeightOptionData[0].MaxValue2)
                    {
                        proto171.MsgNum1   = this.GetStoredMsgHeaderNumber(int.Parse(HeightOptionMng.LstHeightOptionData[0].Msg.MsgNum));
                        proto171.MsgNum2   = int.Parse(HeightOptionMng.LstHeightOptionData[0].Msg.MsgNum);
                        proto171.MsgNum3   = this.GetStoredMsgTailNumber(int.Parse(HeightOptionMng.LstHeightOptionData[0].Msg.MsgNum));
                        proto171.RepeatNum = (byte)HeightOptionMng.LstHeightOptionData[0].Msg.RepeatCount;
                    }
                    else if (cmd2.TideLevel >= HeightOptionMng.LstHeightOptionData[0].MaxValue2 && cmd2.TideLevel < HeightOptionMng.LstHeightOptionData[0].MaxValue3)
                    {
                        proto171.MsgNum1   = this.GetStoredMsgHeaderNumber(int.Parse(HeightOptionMng.LstHeightOptionData[0].Msg2.MsgNum));
                        proto171.MsgNum2   = int.Parse(HeightOptionMng.LstHeightOptionData[0].Msg2.MsgNum);
                        proto171.MsgNum3   = this.GetStoredMsgTailNumber(int.Parse(HeightOptionMng.LstHeightOptionData[0].Msg2.MsgNum));
                        proto171.RepeatNum = (byte)HeightOptionMng.LstHeightOptionData[0].Msg2.RepeatCount;
                    }
                    else if (cmd2.TideLevel >= HeightOptionMng.LstHeightOptionData[0].MaxValue3 && cmd2.TideLevel < HeightOptionMng.LstHeightOptionData[0].MaxValue4)
                    {
                        proto171.MsgNum1   = this.GetStoredMsgHeaderNumber(int.Parse(HeightOptionMng.LstHeightOptionData[0].Msg3.MsgNum));
                        proto171.MsgNum2   = int.Parse(HeightOptionMng.LstHeightOptionData[0].Msg3.MsgNum);
                        proto171.MsgNum3   = this.GetStoredMsgTailNumber(int.Parse(HeightOptionMng.LstHeightOptionData[0].Msg3.MsgNum));
                        proto171.RepeatNum = (byte)HeightOptionMng.LstHeightOptionData[0].Msg3.RepeatCount;
                    }
                    else if (cmd2.TideLevel >= HeightOptionMng.LstHeightOptionData[0].MaxValue4)
                    {
                        proto171.MsgNum1   = this.GetStoredMsgHeaderNumber(int.Parse(HeightOptionMng.LstHeightOptionData[0].Msg4.MsgNum));
                        proto171.MsgNum2   = int.Parse(HeightOptionMng.LstHeightOptionData[0].Msg4.MsgNum);
                        proto171.MsgNum3   = this.GetStoredMsgTailNumber(int.Parse(HeightOptionMng.LstHeightOptionData[0].Msg4.MsgNum));
                        proto171.RepeatNum = (byte)HeightOptionMng.LstHeightOptionData[0].Msg4.RepeatCount;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("조위 단계 별 저장메시지가 설정되어 있지 않아 발령을 종료합니다.", "조위 방송", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    NCasLoggingMng.ILogging.WriteLog("조위 데이터 처리 - 의사결정 전 저장메시지 미설정으로 방송 직전 종료함", "자동방송 저장메시지 방송 종료함");
                    this.Close();
                }

                NCasLoggingMng.ILogging.WriteLog("조위 데이터 처리 - 의사결정", string.Format("자동방송 저장메시지 [{0}] 방송 실행함", proto171.MsgNum2.ToString()));
            }

            byte[]           buff             = NCasProtocolFactory.MakeUdpFrame(proto171);
            AutoOrderBizData autoOrderBizData = new AutoOrderBizData();

            autoOrderBizData.AlmProtocol = proto171;
            autoOrderBizData.SendBuff    = buff;
            this.mainForm.SetAutoOrderBizData(autoOrderBizData);
            this.Close();
        }