public bool CreateSendRedpackRecord(int serialid, int userid, string openid, int amount, string act_name, string wishing) { bool flag = true; int num = 0x4e20; int num2 = amount; SendRedpackRecordInfo sendredpackinfo = new SendRedpackRecordInfo { BalanceDrawRequestID = serialid, UserID = userid, OpenID = openid, ActName = act_name, Wishing = wishing, ClientIP = Globals.IPAddress }; using (DbConnection connection = this.database.CreateConnection()) { connection.Open(); DbTransaction dbTran = connection.BeginTransaction(); SendRedpackRecordDao dao = new SendRedpackRecordDao(); try { if (num2 <= num) { sendredpackinfo.Amount = amount; flag = dao.AddSendRedpackRecord(sendredpackinfo, dbTran); return(this.UpdateSendRedpackRecord(serialid, 1, dbTran)); } int num3 = amount % num; int num4 = amount / num; if (num3 > 0) { sendredpackinfo.Amount = num3; flag = dao.AddSendRedpackRecord(sendredpackinfo, dbTran); } if (flag) { for (int i = 0; i < num4; i++) { sendredpackinfo.Amount = num; flag = dao.AddSendRedpackRecord(sendredpackinfo, dbTran); if (!flag) { dbTran.Rollback(); } } int num6 = num4 + ((num3 > 0) ? 1 : 0); flag = this.UpdateSendRedpackRecord(serialid, num6, dbTran); if (!flag) { dbTran.Rollback(); } return(flag); } dbTran.Rollback(); return(flag); } catch { if (dbTran.Connection != null) { dbTran.Rollback(); } flag = false; } finally { if (flag) { dbTran.Commit(); } connection.Close(); } } return(flag); }
public bool CreateSendRedpackRecord(int serialid, int userid, string openid, int amount, string act_name, string wishing) { bool flag = true; int num = 20000; SendRedpackRecordInfo sendRedpackRecordInfo = new SendRedpackRecordInfo(); sendRedpackRecordInfo.BalanceDrawRequestID = serialid; sendRedpackRecordInfo.UserID = userid; sendRedpackRecordInfo.OpenID = openid; sendRedpackRecordInfo.ActName = act_name; sendRedpackRecordInfo.Wishing = wishing; sendRedpackRecordInfo.ClientIP = Globals.IPAddress; using (System.Data.Common.DbConnection dbConnection = this.database.CreateConnection()) { dbConnection.Open(); System.Data.Common.DbTransaction dbTransaction = dbConnection.BeginTransaction(); SendRedpackRecordDao sendRedpackRecordDao = new SendRedpackRecordDao(); try { if (amount <= num) { sendRedpackRecordInfo.Amount = amount; flag = sendRedpackRecordDao.AddSendRedpackRecord(sendRedpackRecordInfo, dbTransaction); } else { int num2 = amount % num; int num3 = amount / num; if (num2 > 0) { sendRedpackRecordInfo.Amount = num2; flag = sendRedpackRecordDao.AddSendRedpackRecord(sendRedpackRecordInfo, dbTransaction); } if (flag) { for (int i = 0; i < num3; i++) { sendRedpackRecordInfo.Amount = num; flag = sendRedpackRecordDao.AddSendRedpackRecord(sendRedpackRecordInfo, dbTransaction); if (!flag) { dbTransaction.Rollback(); } } int num4 = num3 + ((num2 > 0) ? 1 : 0); if (!flag) { dbTransaction.Rollback(); } } else { dbTransaction.Rollback(); } } } catch { if (dbTransaction.Connection != null) { dbTransaction.Rollback(); } flag = false; } finally { if (flag) { dbTransaction.Commit(); } dbConnection.Close(); } } return(flag); }