private void XuLyTraVe(ComParameter recvdata) { bool flag = false; bool flag2 = false; if (recvdata.DataString.Length < 400) { if (recvdata.DataString.Equals("LOGON OK")) { ////LOGON OK //lblMSG.Text = string.Format("Đăng nhập thành công. Hệ thống thông báo: {0}", recvdata.DataString); } else//case này Chưa xác định được nội dung là gì { //lblMSG.Text = string.Format("Hệ thống thông báo: {0}", recvdata.DataString); //ModalPopupExtender.Show(); } } else { IData data = new NaccsData { Header = { DataString = recvdata.DataString.Substring(0, 400) } }; flag = data.Header.Control.EndsWith("P"); flag2 = (!flag) && (data.Header.DataType == "R"); } try { if (flag) { } else if (flag2) { flag = false; RecvData data2 = DataFactory.CreateRecvData(recvdata.DataString); //HttpErrorDlg dlg = new HttpErrorDlg(); //dlg.ShowJobError(this.JobCode(), data2.ResultData); IData resultData = data2.ResultData; int length = 15; if (resultData.Items[0].Length < 15) { length = resultData.Items[0].Length; } string resultCode = resultData.Items[0].Substring(0, length).ToUpper(); string jobCodeForReturn = this.jobCode; string messageCode = resultCode.Substring(0, 5); XmlDocument document = new XmlDocument(); if (messageCode.IndexOf('A') == 0)//Kiểu lỗi hệ thống thì sử dụng file help kiểu hệ thống { jobCodeForReturn = "SYS"; string strSysHelpFile = Path.Combine(Application.StartupPath, string.Format(@"App_LocalResources\Help\gym_err\{0}_err.xml", jobCodeForReturn)); document.Load(strSysHelpFile); } else { document.Load(strHelpFile); } XmlNode node = document.SelectSingleNode("//response[@code='" + messageCode + "']"); string strName = node.Attributes["name"].Value; string strID = node.Attributes["id"].Value; //this.txbMessageCode.Text = messageCode; string strDesc = node.SelectSingleNode("description").InnerText; string strDisposition = node.SelectSingleNode("disposition").InnerText;//cách khắc phục #region Lưu thông điệp trả về THONGDIEP receiveTD = new THONGDIEP(); receiveTD.TD_CACHKHACPHUC = strDisposition; receiveTD.TD_COKETTHUC = resultData.Header.EndFlag.Trim(); receiveTD.TD_DINHDANG = resultData.Header.Pattern.Trim(); receiveTD.TD_LOAITD = resultData.Header.DataType.Trim(); receiveTD.TD_MANV = resultData.JobCode.Trim(); receiveTD.TD_MATD = resultData.OutCode.Trim(); receiveTD.TD_MESSSAGECODE = messageCode; receiveTD.TD_MOTALOI = strDesc; receiveTD.TD_RETURNCODE = resultCode; receiveTD.TD_TENCHITIEU = strName; receiveTD.TD_TENNV = this.jobTitle; receiveTD.TD_THOIGIAN = DateTime.Now; if (((resultData.Header.DataType == "R") || (resultData.Header.DataType == "M")) || (resultData.Header.DataType == "U")) { receiveTD.TD_TIEUDE = resultData.Header.Subject.Remove(0, 0x10).Trim(); } else { receiveTD.TD_TIEUDE = resultData.Header.Subject.Trim(); } receiveTD.TD_TRANGTHAI = (int)TrangThaiThongDiep.Nhan; receiveTD.TD_CONTENT = recvdata.DataString; using (tDBContext mainDB = new tDBContext()) { string strMaxID = mainDB.THONGDIEPs.Max("TD_ID"); if(string.IsNullOrEmpty(strMaxID))strMaxID="0"; receiveTD.TD_ID = Convert.ToInt32(strMaxID) + 1; mainDB.THONGDIEPs.InsertOnSubmit(receiveTD); mainDB.SubmitAllChange(); } #endregion this.Show1(strDesc, strDisposition); } } finally { } }
private void bwSend_DoWork(object sender, DoWorkEventArgs e) { bwSend.ReportProgress(1,"Tạo thông điệp gửi Hải quan..."); IData data = this.CreateRequestData(); string strSendMSG = data.GetDataString(); bwSend.ReportProgress(30, "Tạo xong thông điệp, đang gửi..."); ComParameter rParam = this.SendData(strSendMSG); bwSend.ReportProgress(60, "Đã gửi thông điệp..."); //Send được thì log msg #region Log send msg THONGDIEP sendTD = new THONGDIEP(); //sendTD.TD_CACHKHACPHUC = ""; sendTD.TD_COKETTHUC = data.Header.EndFlag.Trim(); sendTD.TD_DINHDANG = data.Header.Pattern.Trim(); sendTD.TD_LOAITD = data.Header.DataType.Trim(); sendTD.TD_MANV = data.JobCode.Trim(); sendTD.TD_MATD = data.OutCode.Trim(); //sendTD.TD_MESSSAGECODE = ""; //sendTD.TD_MOTALOI = ""; //sendTD.TD_RETURNCODE = ""; //sendTD.TD_TENCHITIEU = ""; sendTD.TD_TENNV = this.jobTitle; sendTD.TD_THOIGIAN = DateTime.Now; if (((data.Header.DataType == "R") || (data.Header.DataType == "M")) || (data.Header.DataType == "U")) { sendTD.TD_TIEUDE = data.Header.Subject.Remove(0, 0x10).Trim(); } else { sendTD.TD_TIEUDE = data.Header.Subject.Trim(); } sendTD.TD_TRANGTHAI = (int)TrangThaiThongDiep.DaGui; sendTD.TD_CONTENT = strSendMSG; using (tDBContext mainDB = new tDBContext()) { string strMaxID = mainDB.THONGDIEPs.Max("TD_ID"); if (string.IsNullOrEmpty(strMaxID)) strMaxID = "0"; sendTD.TD_ID = Convert.ToInt32(strMaxID) + 1; mainDB.THONGDIEPs.InsertOnSubmit(sendTD); mainDB.SubmitAllChange(); } #endregion bwSend.ReportProgress(100, "Đã lưu thông điệp..."); XuLyTraVe(rParam); }