Пример #1
0
        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
            });
        }
Пример #2
0
 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));
     }
 }
Пример #3
0
 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));
     }
 }
Пример #4
0
        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
            });
        }