Пример #1
0
        public IActionResult  MoneyTransferWithHavale([FromBody] HavaleDto havaleDto)
        {
            if (_accountService.GetAccountByNumber(havaleDto.ReceivingAccountId) == null)
            {
                return(BadRequest());
            }
            else
            {
                var sendingAccount   = _accountService.GetAccountByNumber(havaleDto.SendingAccountId);
                var receivingAccount = _accountService.GetAccountByNumber(havaleDto.ReceivingAccountId);
                if (havaleDto.Money != 0 && havaleDto.Money <= sendingAccount.Balance && receivingAccount.isActive == true)
                {
                    sendingAccount.Balance   -= havaleDto.Money;
                    receivingAccount.Balance += havaleDto.Money;
                    _accountService.Update(sendingAccount);
                    _accountService.Update(receivingAccount);
                    var transaction = new TransactionOnAccount();
                    transaction.ReceivingAccountId = havaleDto.ReceivingAccountId;
                    transaction.SendingAccountId   = havaleDto.SendingAccountId;
                    transaction.TransactionTime    = DateTime.Now;
                    transaction.AmountOfMoney      = havaleDto.Money;
                    transaction.ProcessType        = "mobil";
                    transaction.AccountId          = sendingAccount.AccountId;
                    _transactionOnAccountService.Add(transaction);

                    return(Ok());
                }
                return(BadRequest());
            }
        }
Пример #2
0
        public IActionResult MoneyTransferWithVirman([FromBody] VirmanDto virmanDto)
        {
            if (_accountService.GetAccountByNumber(virmanDto.ReceivingAccountId) == null)
            {
                return(BadRequest());
            }
            else
            {
                var sendingAccount   = _accountService.GetAccountByNumber(virmanDto.SendingAccountId);
                var receivingAccount = _accountService.GetAccountByNumber(virmanDto.ReceivingAccountId);
                if (virmanDto.Money != 0 && virmanDto.Money <= sendingAccount.Balance)
                {
                    sendingAccount.Balance   -= virmanDto.Money;
                    receivingAccount.Balance += virmanDto.Money;
                    _accountService.Update(sendingAccount);
                    _accountService.Update(receivingAccount);
                    var transaction = new TransactionOnAccount();
                    transaction.ReceivingAccountId =
                        receivingAccount.AccountNumber + "/" + receivingAccount.AccountNo.ToString();
                    transaction.SendingAccountId = sendingAccount.AccountNumber + "/" + sendingAccount.AccountNo.ToString();
                    transaction.TransactionTime  = DateTime.Now;
                    transaction.AmountOfMoney    = virmanDto.Money;
                    transaction.ProcessType      = "mobil";
                    transaction.AccountId        = sendingAccount.AccountId;
                    _transactionOnAccountService.Add(transaction);

                    return(Ok());
                }
                return(BadRequest());
            }
        }
Пример #3
0
 public void Update(TransactionOnAccount transactionOnAccount)
 {
     _transactionOnAccountDal.Update(transactionOnAccount);
 }
Пример #4
0
 public void Add(TransactionOnAccount transactionOnAccount)
 {
     _transactionOnAccountDal.Add(transactionOnAccount);
 }