예제 #1
0
        public IQueryable <UserAccountBalance> SetFilter(IQueryable <UserAccountBalance> query)
        {
            query = (
                from a in _dbContext.Set <UserAccount>()
                join va in _dbContext.Set <UserAccountBalance>() on a.Id equals va.Id
                where
                a.UserOwner.Id == _userOwnerId &&
                a.State.Id == (long)UserAccountStates.Active &&
                a.DeletedAt == null
                select new UserAccountBalance
            {
                Id = a.Id,
                CreatedAt = a.CreatedAt,
                State = a.State,
                Type = a.Type,
                UserOwner = a.UserOwner,
                TotalBalance = va.TotalBalance,
                AvailableBalance = va.AvailableBalance,
                BetBalance = va.BetBalance
            }
                ).AsQueryable();

            return(query);
        }
예제 #2
0
        private async Task <AccountTransaction> ApplyWelcomeBonusTransaction(UserAccount userAccount)
        {
            AccountTransaction accountTransaction = null;

            decimal amount = GetWelcomeBonusAmmountByUserAccountType(userAccount.Type);

            if (amount > 0M)
            {
                accountTransaction = await FillAccountTransaction(userAccount);

                accountTransaction.Amount = amount;

                _dbContext.Set <AccountTransaction>().Add(accountTransaction);

                await _dbContext.SaveChangesAsync();
            }

            return(accountTransaction);
        }