// 只适合更新日志状态 public static int UpdateMQLog(Guid guid, string error, MsgLogState state, out string exception) { exception = ""; try { TTRD_SET_MSG_LOG log = new TTRD_SET_MSG_LOG(); log.GUID = guid.ToString(); log.STATE = (int)state; if (!string.IsNullOrEmpty(error)) { log.ERRINFO = error; } int count = 0; using (TransactionScope trans = new TransactionScope(TransactionScopeOption.RequiresNew)) { TTRD_SET_MSG_LOG_Manager manager = new TTRD_SET_MSG_LOG_Manager(); count = manager.LogUpdate(log); trans.Complete(); } return count; } catch (Exception ex) { exception = ex.Message; xQuant.Log4.LogHelper.Write(xQuant.Log4.LogLevel.Error, string.Format("<MQMsgCommonHelper-UpdateMQLog> Exception:{0}; StatkTrace:{1}.", ex.Message, ex.StackTrace)); return 0; //throw ex; } }
/// <summary> /// 把支付交易序号更新为资金流水号,只适用来账销账 /// </summary> /// <param name="msgdata"></param> /// <param name="paysn"></param> /// <param name="hostflow"></param> /// <param name="error"></param> /// <param name="state"></param> /// <param name="exception"></param> /// <returns></returns> public static int UpdateMQLog(MessageData msgdata, string paysn, string hostflow, string error, MsgLogState state, out string exception) { exception = ""; try { TTRD_SET_MSG_LOG log = new TTRD_SET_MSG_LOG(); log.GUID = msgdata.MessageID.ToString(); log.FLOW_NO = paysn; log.USER_CODE = msgdata.TellerNO; log.INS_ID = msgdata.OrgNO; //log.IS_MUL_PKG = msgdata.IsMultiPackage ? "1" : "0"; log.HOSTFLOW_NO = hostflow; log.MSGTYPE = msgdata.MsgBizType; log.PLATFORMTYPE = (int)msgdata.TragetPlatform; log.RESP_TIME = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); log.RECV_CONTENT = msgdata.CurrentRespPackage.PackageMessage; log.STATE = (int)state; if (!string.IsNullOrEmpty(error)) { log.ERRINFO = error; } int count = 0; using (TransactionScope trans = new TransactionScope(TransactionScopeOption.RequiresNew)) { TTRD_SET_MSG_LOG_Manager manager = new TTRD_SET_MSG_LOG_Manager(); count = manager.LogUpdate(log); trans.Complete(); } return count; } catch (Exception ex) { exception = ex.Message; xQuant.Log4.LogHelper.Write(xQuant.Log4.LogLevel.Error, string.Format("<MQMsgCommonHelper-UpdateMQLog> Exception:{0}; StatkTrace:{1}.", ex.Message, ex.StackTrace)); return 0; //throw ex; } }
public static int AddMQLog(MessageData msgdata, byte[] senddata, MsgLogState state, out string exception) { exception = ""; try { TTRD_SET_MSG_LOG log = new TTRD_SET_MSG_LOG(); log.GUID = msgdata.MessageID.ToString(); log.FLOW_NO = msgdata.BizMsgID??""; log.USER_CODE = msgdata.TellerNO; log.INS_ID = msgdata.OrgNO; log.IS_MUL_PKG = msgdata.IsMultiPackage ? "1" : "0"; log.MSGTYPE = msgdata.MsgBizType; log.PLATFORMTYPE = (int)msgdata.TragetPlatform; log.SEND_TIME = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); log.SEND_CONTENT = senddata; log.STATE = (int)state; int count = 0; using (TransactionScope trans = new TransactionScope(TransactionScopeOption.RequiresNew)) { TTRD_SET_MSG_LOG_Manager manager = new TTRD_SET_MSG_LOG_Manager(); count = manager.LogInsert(log); trans.Complete(); } return count; } catch(Exception ex) { exception = ex.Message; xQuant.Log4.LogHelper.Write(xQuant.Log4.LogLevel.Error, string.Format("<MQMsgCommonHelper-AddMQLog> Exception:{0}; StatkTrace:{1}.", ex.Message, ex.StackTrace)); return 0; } }
public void Transaction() { using (TransactionScope scope = new TransactionScope(Book.ConnectionStringSettings.Key)) { var bookContext = Book.CreateContext(false); Book obj = new Book(); obj.Author = "123"; bookContext.Add(obj); obj = new Book(); obj.Author = "456"; bookContext.Add(obj); bookContext.SubmitChanges(true); var libraryContext = Library.CreateContext(false); Library obj2 = new Library(); obj2.Floor = "123"; libraryContext.Add(obj2); libraryContext.SubmitChanges(); scope.Complete(); } Assert.AreEqual((from q in Library.CreateContext(false) where q.Floor == "123" select q).Count(), 1); }
/// <summary> /// 核心钆账 /// </summary> /// <param name="tellerno"></param> /// <param name="orgno"></param> /// <param name="tradedate"></param> /// <param name="querydate"></param> /// <param name="flowNO"></param> /// <param name="queryOrgNO"></param> /// <param name="outmsg"></param> /// <returns></returns> public static bool CoreRollingAcct(String tellerno, String orgno, DateTime tradedate, DateTime querydate, String flowNO, String queryOrgNO, out String outmsg) { List<CoreCheckAcctInfo> outData; if (!CoreAcctChecking(tellerno, orgno, tradedate, querydate, flowNO, queryOrgNO, out outData, out outmsg)) { //outmsg = string.Format("{0}{1}", MsgHandlerEntry.Info_Return_Core, outmsg); return false; } try { if (string.IsNullOrEmpty(queryOrgNO)) { queryOrgNO = orgno; } using (TransactionScope trans = new TransactionScope()) { TTRD_ZJAA_Controller.Delete(queryOrgNO, querydate.ToString("yyyyMMdd")); //TTRD_ZJAA_Controller.Clear(); if (outData != null) { TTRD_ZJAA_Controller.Insert(outData); } trans.Complete(); } return true; } catch (Exception ex) { outmsg = ex.Message; return false; } }
/// <summary> /// 支付平台钆账 /// </summary> /// <param name="queryDate"></param> /// <param name="outmsg"></param> /// <returns></returns> public static bool PayRollingAcct(DateTime queryDate, out string outmsg) { List<PayCheckAcct> outData; if (!PayCheckAccount(queryDate, out outData, out outmsg)) { //outmsg = string.Format("{0}{1}", MsgHandlerEntry.Info_Return_Core, outmsg); return false; } try { using (TransactionScope trans = new TransactionScope()) { TTRD_PAY_Controller.Delete(queryDate.ToString("yyyyMMdd")); if (outData != null) { TTRD_PAY_Controller.Insert(outData); } trans.Complete(); } return true; } catch (Exception ex) { outmsg = ex.Message; return false; } }