protected virtual void OnMessageReceive(MessageReceiveEventArgs e) { if (MessageReceiveEvent != null) { MessageReceiveEvent(this, e); } }
/// <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); } }