public async Task <BaseApiResponse> AddBankCard(AddBankCardRequest request) { request.CheckNotNull(nameof(request)); TryInitUserModel(); var bankCardViewModel = new BankCardViewModel { WalletId = _wallet.Id,//怎样获取钱包ID BankName = request.BankName, OwnerName = request.OwnerName, Number = request.Number }; var command = bankCardViewModel.ToAddBankCardCommand(); var result = await ExecuteCommandAsync(command); if (!result.IsSuccess()) { return(new BaseApiResponse { Code = 400, Message = "命令没有执行成功:{0}".FormatWith(result.GetErrorMessage()) }); } return(new BaseApiResponse()); }
public static AddBankCardCommand ToAddBankCardCommand(this BankCardViewModel bankcardViewModel) { var command = new AddBankCardCommand( bankcardViewModel.WalletId, bankcardViewModel.BankName, bankcardViewModel.OwnerName, bankcardViewModel.Number); return(command); }
public ActionResult PutBankCard(string id, BankCardViewModel bankCardViewModel) { if (id != bankCardViewModel.Id) { return(BadRequest()); } var bankCardList = _context.BankCards.Where(x => x.UserId.ToString() == bankCardViewModel.UserId).ToList(); // Kiểm tra có trùng tên với tối đa 5 tài khoản và phải khác số tài khoản if (bankCardList.Count >= 5) { return(BadRequest(new ResponseResult("Bạn đã liên kết tối đa số tài khoản là 5 rồi!"))); } foreach (var bank in bankCardList) { if (bank.FullNameOwner != bankCardViewModel.FullNameOwner) { return(BadRequest(new ResponseResult("Tên của chủ tài khoản phải trùng với những thẻ còn lại!"))); } if (bank.BankAccountNumber == bankCardViewModel.BankAccountNumber) { return(BadRequest(new ResponseResult("Số tài khoản đã tồn tại!"))); } } // Kiểm tra toàn bộ tài khoản còn lại xem có trùng stk var otherBank = _context.BankCards.Where(x => x.UserId.ToString() != bankCardViewModel.UserId && x.BankAccountNumber == bankCardViewModel.BankAccountNumber).ToList(); if (otherBank.Count != 0) { return(BadRequest(new ResponseResult("Số tài khoản đã tồn tại!"))); } var bankCard = _context.BankCards.Find(bankCardViewModel.Id); bankCard.BankAccountNumber = bankCardViewModel.BankAccountNumber; bankCard.BankBranch = bankCardViewModel.BankBranch; bankCard.BankName = bankCardViewModel.BankName; bankCard.FullNameOwner = bankCardViewModel.FullNameOwner; try { _context.BankCards.Update(bankCard); _context.SaveChanges(); return(Ok(new ResponseResult("Cập nhật ngân hàng thành công!"))); } catch (DbUpdateConcurrencyException) { if (!BankCardExists(id)) { return(BadRequest(new ResponseResult("Không tìm thấy thông tin thẻ này!"))); } else { return(BadRequest(new ResponseResult("Lỗi không xác định!"))); } } }