/// <summary>
        /// Inserts the account category.
        /// </summary>
        /// <param name="accountTransferEntity">The account transfer entity.</param>
        /// <returns>
        /// AccountCategoryResponse.
        /// </returns>
        public AccountTransferResponse InsertAccountTransfer(AccountTransferEntity accountTransferEntity)
        {
            var response = new AccountTransferResponse {
                Acknowledge = AcknowledgeType.Success
            };

            try
            {
                if (!accountTransferEntity.Validate())
                {
                    foreach (string error in accountTransferEntity.ValidationErrors)
                    {
                        response.Message += error + Environment.NewLine;
                    }
                    response.Acknowledge = AcknowledgeType.Failure;
                    return(response);
                }

                var accountTransfer = AccountTransferDao.GetAccountTransfersByAccountTransferCode(accountTransferEntity.AccountTransferCode.Trim());
                if (accountTransfer != null)
                {
                    if (accountTransfer.AccountTransferId != accountTransferEntity.AccountTransferId)
                    {
                        response.Acknowledge = AcknowledgeType.Failure;
                        response.Message     = @"Mã tài khoản kết chuyển " + accountTransferEntity.AccountTransferCode.Trim() + @" đã tồn tại !";
                        return(response);
                    }
                }

                accountTransferEntity.AccountTransferId = Guid.NewGuid().ToString();
                response.Message = AccountTransferDao.InsertAccountTransfer(accountTransferEntity);
                if (!string.IsNullOrEmpty(response.Message))
                {
                    response.Acknowledge = AcknowledgeType.Failure;
                    return(response);
                }
                response.AccountTransferId = accountTransferEntity.AccountTransferId;
                return(response);
            }
            catch (Exception ex)
            {
                response.Message = ex.Message;
                return(response);
            }
        }
Esempio n. 2
0
        public async Task <IActionResult> TransferAccount(AccountTransferRequest request)
        {
            var response = new BaseResponse <AccountTransferResponse>();
            var data     = new AccountTransferResponse();

            try
            {
                var accRepo     = new AccountRepository();
                var accountFrom = accRepo.GetAccountById(request.fromAccountId);
                var accountTo   = accRepo.GetAccountById(request.toAccountId);

                if (accountFrom == null)
                {
                    throw new AccountNotFoundException($"{request.fromAccountId}");
                }

                if (accountTo == null)
                {
                    throw new AccountNotFoundException($"{request.toAccountId}");
                }

                _service.TransferTo(accountFrom, accountTo, request.amount);

                accRepo.UpdateAccount(accountFrom);
                accRepo.UpdateAccount(accountTo);

                //consider using mapper such as automapper lib
                data.fromAccountAmount = accountFrom.Amount;
                data.toAccountAmount   = accountTo.Amount;

                response.SetData(data);
            }
            catch (Exception e)
            {
                response.SetError(e);
            }

            return(Ok(response));
        }
        public AccountTransferResponse DeleteAccountTransferConvert()
        {
            var response = new AccountTransferResponse {
                Acknowledge = AcknowledgeType.Success
            };

            try
            {
                response.Message = AccountTransferDao.DeleteAccountTransferConvert();
                if (!string.IsNullOrEmpty(response.Message))
                {
                    response.Acknowledge = AcknowledgeType.Failure;
                    return(response);
                }
                return(response);
            }
            catch (Exception ex)
            {
                response.Message = ex.Message;
                return(response);
            }
        }
        /// <summary>
        /// Deletes the account category.
        /// </summary>
        /// <param name="accountTransferEId">The account transfer e identifier.</param>
        /// <returns>
        /// AccountCategoryResponse.
        /// </returns>
        public AccountTransferResponse DeleteAccountTransfer(string accountTransferEId)
        {
            var response = new AccountTransferResponse {
                Acknowledge = AcknowledgeType.Success
            };

            try
            {
                var accountTransferEntity = AccountTransferDao.GetAccountTransfer(accountTransferEId);
                response.Message = AccountTransferDao.DeleteAccountTransfer(accountTransferEntity);
                if (!string.IsNullOrEmpty(response.Message))
                {
                    response.Acknowledge = AcknowledgeType.Failure;
                    return(response);
                }
                response.AccountTransferId = accountTransferEntity.AccountTransferId;
                return(response);
            }
            catch (Exception ex)
            {
                response.Message = ex.Message;
                return(response);
            }
        }