public async Task <ActionResult <BankAccount> > PostBankAccount(BankAccountPostModel bankAccountPostModel) { String jwt = Request.Headers["Authorization"]; jwt = jwt.Substring(7); //Decode jwt and get payload var stream = jwt; var handler = new JwtSecurityTokenHandler(); var jsonToken = handler.ReadToken(stream); var tokenS = jsonToken as JwtSecurityToken; //I can get Claims using: var email = tokenS.Claims.First(claim => claim.Type == "email").Value; Account account = _context.Accounts.SingleOrDefault(p => p.Email == email); if (account == null) { return(BadRequest()); } BankAccount bankAccount = new BankAccount() { BankId = bankAccountPostModel.BankId, AccountId = account.Id, OwnerName = bankAccountPostModel.OwnerName, AccountNumber = bankAccountPostModel.AccountNumber, BranchName = bankAccountPostModel.BranchName, }; _context.BankAccounts.Add(bankAccount); await _context.SaveChangesAsync(); return(Ok()); }
private void AssertData(BankAccountPostModel postModel, BankAccountGetModel getModel) { Assert.AreEqual(postModel.AccountNumber, getModel.AccountNumber); Assert.AreEqual(postModel.BankId, getModel.BankId); Assert.AreEqual(postModel.CurrencyId, getModel.CurrencyId); Assert.AreEqual(postModel.Iban, getModel.Iban); Assert.AreEqual(postModel.Name, getModel.Name); Assert.AreEqual(postModel.IsDefault, getModel.IsDefault); Assert.AreEqual(postModel.Swift, getModel.Swift); Assert.NotNull(getModel.Metadata); }
public async Task <IActionResult> PutBankAccount(int id, BankAccountPostModel bankAccountPostModel) { String jwt = Request.Headers["Authorization"]; jwt = jwt.Substring(7); //Decode jwt and get payload var stream = jwt; var handler = new JwtSecurityTokenHandler(); var jsonToken = handler.ReadToken(stream); var tokenS = jsonToken as JwtSecurityToken; //I can get Claims using: var email = tokenS.Claims.First(claim => claim.Type == "email").Value; Account account = _context.Accounts.Include(p => p.BankAccounts) .SingleOrDefault(p => p.Email == email); if (account == null) { return(BadRequest()); } BankAccount bankAccount = account.BankAccounts.SingleOrDefault(p => p.Id == id); bankAccount.BankId = bankAccountPostModel.BankId; bankAccount.OwnerName = bankAccountPostModel.OwnerName; bankAccount.AccountNumber = bankAccountPostModel.AccountNumber; bankAccount.BranchName = bankAccountPostModel.BranchName; _context.Entry(bankAccount).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!BankAccountExists(id)) { return(NotFound()); } else { throw; } } return(Ok()); }
/// <inheritdoc /> public ApiResult <BankAccountGetModel> Post(BankAccountPostModel model) { return(Post <BankAccountPostModel, BankAccountGetModel>(model)); }
/// <inheritdoc /> public Task <ApiResult <BankAccountGetModel> > PostAsync(BankAccountPostModel model, CancellationToken cancellationToken = default) { return(PostAsync <BankAccountPostModel, BankAccountGetModel>(model, cancellationToken)); }