-
#region 插入用户汇款充值记录
-
-
public void UserRemittance(UserAccountRecord userAccountRecord, WebBankAccountRecord webBankAccountRecord)
-
{
-
/// <summary>
-
///用户账户收支明细
-
/// </summary>
-
IUserAccountRecordsRepository IUARRpstry = new UserAccountRecordsRepository();
-
/// <summary>
-
/// 用户账户余额
-
/// </summary>
-
IUserAccountBalancesRepository IUABRpstry = new UserAccountBalancesRepository();
-
/// <summary>
-
/// 网站银行账户收支明细
-
/// </summary>
-
IWebBankAccountRecordsRepository IWBARRpstry = new WebBankAccountRecordsRepository();
-
/// <summary>
-
/// 网站银行账户余额
-
/// </summary>
-
IWebAccountBalancesRepository IWABRpstry = new WebAccountBalancesRepository();
-
-
-
using (TransactionScope ts = new TransactionScope())
-
{
-
try
-
{
-
-
using (TransactionScope ts2 = new TransactionScope())
-
{
-
//第一步:插入新的记录到用户账户收支明细表(UserAccountRecords)
-
#region 第一步:插入新的记录到用户账户收支明细表(UserAccountRecords)
-
try
-
{
-
-
using (TransactionScope ts3 = new TransactionScope())
-
{
-
try
-
{
-
IUARRpstry.Insert(userAccountRecord);
-
ts3.Complete();
-
}
-
catch (Exception err)
-
{
-
throw err;
-
}
-
finally
-
{
-
ts3.Dispose();
-
}
-
}
-
-
#endregion
-
//第二步:更新用户账户余额(UserAccountBalances)
-
#region 第二步:更新用户账户余额(UserAccountBalances)
-
Entity.UserAccountBalance userAccountBalanceLinq = (from userAccountBalance in IUABRpstry.GetUserAccountBalances().Where(x => x.UserID.Equals(userAccountRecord.UserID))
-
select userAccountBalance).SingleOrDefault();
-
decimal totalBalance = (from useraccountrecord in IUARRpstry.GetUserAccountRecords().Where(x => x.UserID.Equals(userAccountRecord.UserID) && x.Status.Equals(Entity.UserAccountRecordStatus.Normal))
-
select useraccountrecord.Amount).Sum();
-
userAccountBalanceLinq.TotalBalance = totalBalance;
-
IUABRpstry.Update(userAccountBalanceLinq, Entity.UserAccountBalancesColumnEnum.TotalBalance);
-
#endregion
-
//第三步:插入新的记录到网站银行账户收支明细(WebBankAccountRecords)
-
#region 插入新的记录到网站银行账户收支明细(WebBankAccountRecords)
-
IWBARRpstry.Insert(webBankAccountRecord);
-
#endregion
-
ts2.Complete();
-
}
-
catch (Exception err)
-
{
-
throw err;
-
}
-
finally
-
{
-
ts2.Dispose();
-
}
-
}
-
//第四步:更新网站银行账户余额(WebAccountBalances)
-
#region 第四步:更新网站银行账户余额(WebAccountBalances)
-
decimal BankAccountBalance;
-
int sum = (from balance in IWBARRpstry.GetWebBankAccountRecords().Where(x => x.Status.Equals(Entity.WebBankAccountRecordStatus.Normal))
-
select balance).Count();
-
if (sum == 0)
-
{
-
BankAccountBalance = 0;
-
}
-
else
-
{
-
BankAccountBalance = (from balance in IWBARRpstry.GetWebBankAccountRecords().Where(x => x.Status.Equals(Entity.WebBankAccountRecordStatus.Normal))
-
select balance.Amount).Sum();
-
}
-
Entity.WebAccountBalance webAccountBalance = (from webAB in IWABRpstry.GetWebAccountBalances()
-
select webAB).SingleOrDefault();
-
webAccountBalance.BankAcountBalance = BankAccountBalance;
-
IWABRpstry.Update(webAccountBalance, Entity.WebAccountBalancesColumnEnum.BankAcountBalance);
-
#endregion
-
ts.Complete();
-
}
-
catch (Exception err)
-
{
-
throw err;
-
}
-
finally
-
{
-
ts.Dispose();
-
}
-
}
-
}
-
-
#endregion
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了