コード例 #1
0
        private async Task CheckIfTransactionIsAvilable(long userId, AccountTransactionCreateDTO modelDTO)
        {
            bool failTransaction = false;

            if (modelDTO.Amount <= 0)
            {
                failTransaction = true;
            }
            else if (modelDTO.Type == (long)AccountTransactionTypes.Deposit || modelDTO.Type == (long)AccountTransactionTypes.Withdrawal)
            {
                await AbortIfAuthUserIsNotOwnerAccountAsync(userId);
            }
            else if (modelDTO.Type == (long)AccountTransactionTypes.Bonus)
            {
                await CheckIfAuthUserIsSuperAdmin();
            }
            else
            {
                failTransaction = true;
            }

            if (failTransaction)
            {
                throw new WebApiException(System.Net.HttpStatusCode.BadRequest, "invalid operation");
            }
        }
コード例 #2
0
 public async Task <ActionResult <WebApiResponse> > SetAccountTransaction(
     long userId, long accountId, [FromBody] AccountTransactionCreateDTO data)
 {
     return(await((IUserAccountComponent)_userAccountCrudComponent)
            .SetAccountTransactionAsync(userId, accountId, data));
 }
コード例 #3
0
        public async Task <ActionResult <WebApiResponse> > SetAccountTransactionAsync(long userId, long accountId, AccountTransactionCreateDTO modelDTO)
        {
            UserAccount userAccount = await CheckUserExistsAndGetUserAccount(userId, accountId);

            await((IAccountTransactionComponent)_sqlAccountTransactionContextCrud)
            .SetAccountTransactionAsync(userAccount, modelDTO);

            return(await GetOneUserAccountsAsync(userId, accountId));
        }
コード例 #4
0
        public async Task <AccountTransaction> SetAccountTransactionAsync(UserAccount userAccount, AccountTransactionCreateDTO modelDTO)
        {
            await CheckIfTransactionIsAvilable(userAccount.UserOwner.Id, modelDTO);

            return(await SaveAccountTransaction(userAccount, (AccountTransactionTypes)modelDTO.Type, modelDTO.Amount));
        }