public AccountViewModelOutput Add(AccountViewModelInput accountModel) { var entityAccount = _accountRepository.FindByAgencyAndNumber(accountModel.Agency, accountModel.Number); if (entityAccount != null) { throw new AccountAlreadyRegistered(); } var accountInsert = new Account { Agency = accountModel.Agency, Number = accountModel.Number, Balance = accountModel.Balance, UserId = accountModel.UserId }; _accountRepository.Add(accountInsert); Account account = _accountRepository.FindByAgencyAndNumber(accountInsert.Agency, accountInsert.Number); return(new AccountViewModelOutput { AccountId = account.AccountId, UserId = account.UserId, Agency = account.Agency, Number = account.Number, Balance = account.Balance }); }
public IActionResult Add([FromBody] AccountViewModelInput accountViewModelInput) { try { var account = _accountService.Add(accountViewModelInput); return(Created($"/api/v1/accounts/{account?.AccountId}", account)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public IActionResult Update([FromRoute] int id, [FromBody] AccountViewModelInput accountViewModelInput) { try { var account = _accountService.Update(id, accountViewModelInput); return(Ok(account)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public AccountViewModelOutput Update(int id, AccountViewModelInput accountModel) { var accountUpdate = _accountRepository.GetById(id); if (accountUpdate == null) { throw new UnregisteredAccount(); } accountUpdate.Balance = accountModel.Balance; accountUpdate.Agency = accountModel.Agency; accountUpdate.Number = accountModel.Number; _accountRepository.Update(accountUpdate); return(new AccountViewModelOutput { AccountId = accountUpdate.AccountId, UserId = accountUpdate.UserId, Agency = accountUpdate.Agency, Number = accountUpdate.Number, Balance = accountUpdate.Balance }); }