예제 #1
0
 protected virtual void OnMessageReceive(MessageReceiveEventArgs e)
 {
     if (MessageReceiveEvent != null)
     {
         MessageReceiveEvent(this, e);
     }
 }
예제 #2
0
        /// <summary>
        /// 서버 Response가 file이 아닌 경우 그에 대한 데이터 검토
        /// [0] : 메세지 코드
        /// [1] : 메세지박스 문자열
        /// [2] : 작업진행창 문자열
        /// </summary>
        /// <returns></returns>
        private void measureResponseData()
        {
            MessageReceiveEventArgs mRe = new MessageReceiveEventArgs(PatchManager.JSON_COMPLETE, "");

            OnMessageReceive(mRe);
            string[] msg = new string[3] {
                "", "", ""
            };

            Debug.WriteLine("received json = " + st.getJson());
            JObject response = JObject.Parse(st.getJson());

            try
            {
                if (st.result().Equals(StreamModule.JSON))
                /// JSON 수신 단계 (완료, 오류)
                {
                    if (response.GetValue("_is_error").ToString().ToLower().Equals("true"))
                    {
                        string errorMsg = response.GetValue("_error_msg").ToString().Trim();
                        if (errorMsg.Equals(""))
                        {
                            msg[1] = MsgERR.ERR_ERROR + " \n" + MsgERR.ERR_RETRY;
                            msg[2] = MsgERR.ERR_SVRERROR;
                        }
                        else
                        {
                            msg[1] = MsgERR.ERR_ERROR + " \n" + MsgERR.ERR_ASK;//"오류가 발생하였습니다. \n관리자에게 문의 바랍니다.";
                            msg[2] = MsgERR.ERR_ERROR + " : " + HttpUtility.UrlDecode(errorMsg);
                        }
                        WorkCompletedEventArgs wCe = new WorkCompletedEventArgs(true, msg[1]);//(PatchManager.JSON_COMPLETE, "");
                        OnWorkCompleted(wCe);
                    }
                    else if (response.GetValue("_is_update").ToString().ToLower().Equals("true"))
                    {
                        JObject xmlJson = JObject.Parse(response.GetValue("_xml_list").ToString());
                        PatchXMLData(xmlJson);
                    }
                    else if (response.GetValue("_is_maxreach").ToString().ToLower().Equals("true"))
                    {
                        msg[1] = MsgERR.ERR_REACHMAXCONN + "\n" + MsgERR.ERR_RETRY;            //"허용된 접속자 수를 초과하였습니다.\n잠시 후 다시 시도해 주십시오.";
                        msg[2] = MsgERR.ERR_REACHMAXCONN;
                        WorkCompletedEventArgs wCe = new WorkCompletedEventArgs(true, msg[1]); //(PatchManager.JSON_COMPLETE, "");
                        OnWorkCompleted(wCe);
                    }
                    else if (isFileError)
                    {
                        msg[1] = MsgERR.ERR_COMMIT + "\n" + MsgERR.ERR_RETASK;
                        msg[2] = MsgERR.ERR_COMMIT;
                        WorkCompletedEventArgs wCe = new WorkCompletedEventArgs(true, msg[1]);//(PatchManager.JSON_COMPLETE, "");
                        OnWorkCompleted(wCe);
                    }
                    else
                    {
                        msg[1] = Msg.DEF_NOCHANGE;
                        msg[2] = Msg.DEF_NOCHANGE;
                        WorkCompletedEventArgs wCe = new WorkCompletedEventArgs(false, msg[1]);//(PatchManager.JSON_COMPLETE, "");
                        OnWorkCompleted(wCe);
                    }
                }
                else
                /// 파일 적용 단계
                {
                    if (isFileError)
                    {
                        msg[1] = MsgERR.ERR_COMMIT + "\n" + MsgERR.ERR_RETASK;
                        msg[2] = MsgERR.ERR_COMMIT;
                        WorkCompletedEventArgs wCe = new WorkCompletedEventArgs(true, msg[1]);//(PatchManager.JSON_COMPLETE, "");
                        OnWorkCompleted(wCe);
                    }
                    else
                    {
                        WorkCompletedEventArgs wCe = new WorkCompletedEventArgs(false, msg[1]);//(PatchManager.JSON_COMPLETE, "");
                        OnWorkCompleted(wCe);
                    }
                }
            }
            catch (Exception e)
            {
                WorkCompletedEventArgs wCe = new WorkCompletedEventArgs(true, e.ToString());//(PatchManager.JSON_COMPLETE, "");
                OnWorkCompleted(wCe);
            }
        }