1. #region 插入用户汇款充值记录
    
  2.         public void UserRemittance(UserAccountRecord userAccountRecord, WebBankAccountRecord webBankAccountRecord)
    
  3.         {
    
  4.             /// <summary>
    
  5.             ///用户账户收支明细
    
  6.             /// </summary>
    
  7.             IUserAccountRecordsRepository IUARRpstry = new UserAccountRecordsRepository();
    
  8.             /// <summary>
    
  9.             ///  用户账户余额
    
  10.             /// </summary>
    
  11.             IUserAccountBalancesRepository IUABRpstry = new UserAccountBalancesRepository();
    
  12.             /// <summary>
    
  13.             /// 网站银行账户收支明细
    
  14.             /// </summary>
    
  15.             IWebBankAccountRecordsRepository IWBARRpstry = new WebBankAccountRecordsRepository();
    
  16.             /// <summary>
    
  17.             /// 网站银行账户余额
    
  18.             /// </summary>
    
  19.             IWebAccountBalancesRepository IWABRpstry = new WebAccountBalancesRepository();
    
  20.             using (TransactionScope ts = new TransactionScope())
    
  21.             {
    
  22.                 try
    
  23.                 {
    
  24.                     using (TransactionScope ts2 = new TransactionScope())
    
  25.                     {
    
  26.                         //第一步:插入新的记录到用户账户收支明细表(UserAccountRecords)
    
  27.                         #region 第一步:插入新的记录到用户账户收支明细表(UserAccountRecords)
    
  28.                         try
    
  29.                         {
    
  30.                             using (TransactionScope ts3 = new TransactionScope())
    
  31.                             {
    
  32.                                 try
    
  33.                                 {
    
  34.                                     IUARRpstry.Insert(userAccountRecord);
    
  35.                                     ts3.Complete();
    
  36.                                 }
    
  37.                                 catch (Exception err)
    
  38.                                 {
    
  39.                                     throw err;
    
  40.                                 }
    
  41.                                 finally
    
  42.                                 {
    
  43.                                     ts3.Dispose();
    
  44.                                 }
    
  45.                             }
    
  46.                         #endregion
    
  47.                         //第二步:更新用户账户余额(UserAccountBalances)
    
  48.                         #region 第二步:更新用户账户余额(UserAccountBalances)
    
  49.                             Entity.UserAccountBalance userAccountBalanceLinq = (from userAccountBalance in IUABRpstry.GetUserAccountBalances().Where(x => x.UserID.Equals(userAccountRecord.UserID))
    
  50.                                                                                 select userAccountBalance).SingleOrDefault();
    
  51.                             decimal totalBalance = (from useraccountrecord in IUARRpstry.GetUserAccountRecords().Where(x => x.UserID.Equals(userAccountRecord.UserID) && x.Status.Equals(Entity.UserAccountRecordStatus.Normal))
    
  52.                                                     select useraccountrecord.Amount).Sum();
    
  53.                             userAccountBalanceLinq.TotalBalance = totalBalance;
    
  54.                             IUABRpstry.Update(userAccountBalanceLinq, Entity.UserAccountBalancesColumnEnum.TotalBalance);
    
  55.                             #endregion
    
  56.                         //第三步:插入新的记录到网站银行账户收支明细(WebBankAccountRecords)
    
  57.                         #region 插入新的记录到网站银行账户收支明细(WebBankAccountRecords)
    
  58.                             IWBARRpstry.Insert(webBankAccountRecord);
    
  59.                             #endregion
    
  60.                         ts2.Complete();
    
  61.                         }
    
  62.                         catch (Exception err)
    
  63.                         {
    
  64.                             throw err;
    
  65.                         }
    
  66.                         finally
    
  67.                         {
    
  68.                             ts2.Dispose();
    
  69.                         }
    
  70.                     }
    
  71.                     //第四步:更新网站银行账户余额(WebAccountBalances)
    
  72.                     #region 第四步:更新网站银行账户余额(WebAccountBalances)
    
  73.                     decimal BankAccountBalance;
    
  74.                     int sum = (from balance in IWBARRpstry.GetWebBankAccountRecords().Where(x => x.Status.Equals(Entity.WebBankAccountRecordStatus.Normal))
    
  75.                                select balance).Count();
    
  76.                     if (sum == 0)
    
  77.                     {
    
  78.                         BankAccountBalance = 0;
    
  79.                     }
    
  80.                     else
    
  81.                     {
    
  82.                         BankAccountBalance = (from balance in IWBARRpstry.GetWebBankAccountRecords().Where(x => x.Status.Equals(Entity.WebBankAccountRecordStatus.Normal))
    
  83.                                               select balance.Amount).Sum();
    
  84.                     }
    
  85.                     Entity.WebAccountBalance webAccountBalance = (from webAB in IWABRpstry.GetWebAccountBalances()
    
  86.                                                                    select webAB).SingleOrDefault();
    
  87.                     webAccountBalance.BankAcountBalance = BankAccountBalance;
    
  88.                     IWABRpstry.Update(webAccountBalance, Entity.WebAccountBalancesColumnEnum.BankAcountBalance);
    
  89.                     #endregion
    
  90.                     ts.Complete();
    
  91.                 }
    
  92.                 catch (Exception err)
    
  93.                 {
    
  94.                     throw err;
    
  95.                 }
    
  96.                 finally
    
  97.                 {
    
  98.                     ts.Dispose();
    
  99.                 }
    
  100.             }
    
  101.         }
    
  102.         #endregion
    

转载于:https://www.cnblogs.com/lori/archive/2011/05/20/2052072.html

一個傳統的C2C網站的用戶充值的过程相关推荐

  1. php uv pv,PHP網站流量統計--[pv,uv,ip及$_SERVER]說明

    一.PV.UV.IP的英文解釋 PV(page view):頁面訪問量,每刷新一次就被記一次PV. UV(Unqie Vistor):獨立訪客,訪問您網站的一台電腦客戶端為一個訪客.24小時之內,同一 ...

  2. 20個網頁抓取工具快速抓取網站

    網絡爬行(也稱為網絡抓取,屏幕抓取)已廣泛應用於當今的許多領域. 在網絡爬蟲工具進入公眾之前,對於沒有編程技能的普通人來說,這是一個神奇的詞. 它的高門檻阻礙了大數據門外的人們. 網絡抓取工具是自動爬 ...

  3. PHP 7問世,2億網站效能翻倍有望

    經過10年的漫長等待,PHP 7終於正式問世了.這個影響全球8成網站的開發語言,一舉從5.0版,跳過了功敗垂成的6.0版,一舉進入了7.0時代. 20年前初夏,1995年6月8日,一位愛解決問題的C語 ...

  4. Wappalyzer — 查看網站所使用的環境、技術、主機與分析工具,一覽無遺!

    文章來源:Wappalyzer - 查看網站所使用的環境.技術.主機與分析工具,一覽無遺! - TechMoon 科技月球 今天要來介紹一個線上免費工具「Wappalyzer」,讓你能夠檢測網站,了解 ...

  5. UVa Online Judge 工具網站

    UVa Online Judge 工具網站 转自http://www.csie.ntnu.edu.tw/~u91029/uva.html Lucky貓的ACM園地,Lucky貓的 ACM 中譯題目 M ...

  6. mfc messagebox 非模态_進博尋寶記:當進博遇見非遺?愛上中國傳統文化--財經-

    非遺客廳.人民網記者楊迪 攝 人民網上海11月4日電(記者楊迪)在第三屆中國國際進口博覽會新聞中心一側,一間古色古香的"非遺客廳"格外引人注目.現場的工作人員介紹,本屆進博會期間, ...

  7. gtav登录请确认不是机器人_GTA5線上被誤封號申訴方法【註:網站填表現在已經無法解封了,因為都是機器人自動回覆】...

    最近正版被誤封的情況出現的非常嚴重undefined,有的剛剛購買了遊戲,上線才玩1個小時都沒有,就被封號了 ,對此玩家表示很無奈.去百度搜索解封方法,給的答案都是一樣的 --去申訴網站「https: ...

  8. 賣鞋網站MODISTA

    MODISTA的特色不在它賣的鞋,而是它賣鞋背後的「陳列架」,它有一個直覺式的「商品瀏覽」系統 , 創立MODISTA的是兩個柏克萊加大電機資訊學系的研究生Arlo Faria與AJ Shankar, ...

  9. 手機電視挑戰傳統視聽習慣

    有時我懷疑發明新裝置和新服務的人是否真地在替我們著想 .比如手機﹐它的確是一個相當好的工具.退回幾年﹐如果有人告訴我們﹐能夠將電話.通訊錄.差強人意的照相機.能夠發送電子郵件和上網.音樂播放器和視頻攝 ...

最新文章

  1. 模板 - DP动态规划
  2. 1.5w字,30图带你彻底掌握 AQS!
  3. Android呼叫开发系列WebService
  4. rocketmq之producer解析
  5. 无法监控端口_如何使用snmp监控linux服务器
  6. swift学习笔记-----swift中的指针
  7. t’触发器真值表和状态方程_清写出触发器按逻辑特性的分类;写出T触发器的状态方程。...
  8. html如何查看文档,查看文档
  9. [js] 渲染树构建、布局及绘制
  10. C# 全局唯一标识符 (GUID)
  11. 《图解HTTP》— 安全的HTTPS
  12. 如何让百度检索Github博客
  13. 低启动0.7V升压芯片
  14. 微信网页支付之H5支付
  15. IT运维外包甩不掉的包袱
  16. 从零开始Android游戏编程(第二版) 目录
  17. 阿里云大数据认证——使用DataV制作实时销售数据可视化大屏-课堂笔记
  18. MacPS安装服务器当前无响应,MAC版 PS安装插件提示未部署处理方式
  19. 【威联通Nas】安装docker版本的Nextcloud
  20. 人工智能作业之产生式推理系统

热门文章

  1. 使用java调用fastDFS客户端进行静态资源文件上传
  2. mac下的apache项目发布出现403
  3. vi 方向键和Backspace键失效问题的解决方法
  4. hdu2204 Eddy's爱好 打表+容斥原理
  5. pox 中 openflow.webservice 组建的学习与使用
  6. Exchange2010 初始化失败
  7. C++下简单的socket编程
  8. 大二暑假周进度报告(三)
  9. webpack 读取文件变量
  10. jquery easyui 1.4.1 验证时tooltip 的位置调整