public IActionResult Recharge(RechargeMD metaData) { try { var member = _context.Members.SingleOrDefault(x => x.Id == metaData.MemberId); if (member == null) { throw new Exception($"無該會員資料"); } if (member.Status != AccountStatusTypeEnum.Normal) { throw new Exception($"該會員帳號狀態異常"); } if (metaData.DealIntegration <= 0) { throw new Exception($"提交金額錯誤"); } member.Integration += metaData.DealIntegration; _context.Entry(member).State = EntityState.Modified; _context.TransactionRecords.Add(new TransactionRecordEntity { TransactionId = Guid.NewGuid().ToString(), Type = TransactionTypeEnum.OnSite_CashRecharge, Integration = metaData.DealIntegration, MemberId = metaData.MemberId, OperatorId = _context.Administrators.First().Id }); if (_context.SaveChanges() <= 0) { throw new Exception($"無法新增交易紀錄"); } } catch (Exception ex) { ViewBag.ErrorMessage = $"充值失敗,{ex.Message},請聯絡系統管理員"; return(View(metaData)); } return(RedirectToAction("Index", "Transaction")); }
public IActionResult Recharge(int memberId) { var member = _context.Members.Single(x => x.Id == memberId); if (member == null) { ViewBag.ErrorMessage = $"查無會員,請聯絡系統管理員"; return(PartialView("_TransactionError")); } var data = new RechargeMD { MemberId = member.Id, MemberName = member.Name, Integration = member.Integration, DealIntegration = 0 }; return(View(data)); }