Exemple #1
0
        Task <Transaction[]> ITransactionQueries.GetTransactionsAsync(IPagableQueryParameter queryParam, out int totalCount)
        {
            var filter       = queryParam.Filter as TransactionFilter;
            var transactions = _playerRepo.Transactions
                               .Include(t => t.Wallet)
                               .Include(t => t.Wallet.Currency)
                               .Include(t => t.Wallet.Player)
                               .Where(t => t.Wallet.Player.Id == filter.PlayerId)
                               .Where(filter.TransactionId, t => t.Id == filter.TransactionId)
                               .Where(filter.ExternalTransactionId, a => a.ExternalTransactionId == filter.ExternalTransactionId)
                               .Where(filter.ExternalBatchId, a => a.ExternalBatchId == filter.ExternalBatchId)
                               .OrderBy(queryParam.SortOption)
                               .AsNoTracking()
                               .ToPagedArray(queryParam.Page, queryParam.PageSize, out totalCount);

            return(Task.FromResult(transactions));
        }
Exemple #2
0
        Task<ApiCallLog[]> IApiCallLogQueries.GetApiCallLogsAsync(IPagableQueryParameter queryParam, out int totalCount)
        {
            var filter = (ApiCallLogFilter) queryParam.Filter;

            var apiCallLogs = _repository.ApiCallLogs.Where(a => a.RecordedOn >= filter.From && a.RecordedOn <= filter.To)
                .Where(filter.Ip, a => a.Ip.Contains(filter.Ip))
                .Where(filter.Path, a => a.Path.Contains(filter.Path))
                .Where(filter.RequestHeaders, a => a.RequestHeaders.Contains(filter.RequestHeaders))
                .Where(filter.RequestContent, a => a.RequestContent.Contains(filter.RequestContent))
                .Where(filter.ResponseHeaders, a => a.ResponseHeaders.Contains(filter.ResponseHeaders))
                .Where(filter.ResponseContent, a => a.ResponseContent.Contains(filter.ResponseContent))
                .OrderBy(queryParam.SortOption)
                .AsNoTracking()
                .ToPagedArray(queryParam.Page, queryParam.PageSize, out totalCount);

            return Task.FromResult(apiCallLogs);
        }
Exemple #3
0
        Task<Transaction[]> ITransactionQueries.GetTransactionsAsync(IPagableQueryParameter queryParam, out int totalCount)
        {
            var filter = queryParam.Filter as TransactionFilter;
            var transactions = _playerRepo.Transactions
                .Include(t => t.Wallet)
                .Include(t => t.Wallet.Currency)
                .Include(t => t.Wallet.Player)
                .Where(t => t.Wallet.Player.Id == filter.PlayerId)
                .Where(filter.TransactionId, t => t.Id == filter.TransactionId)
                .Where(filter.ExternalTransactionId, a => a.ExternalTransactionId == filter.ExternalTransactionId)
                .Where(filter.ExternalBatchId, a => a.ExternalBatchId == filter.ExternalBatchId)
                .OrderBy(queryParam.SortOption)
                .AsNoTracking()
                .ToPagedArray(queryParam.Page, queryParam.PageSize, out totalCount);

            return Task.FromResult(transactions);
        }
        Task <ApiCallLog[]> IApiCallLogQueries.GetApiCallLogsAsync(IPagableQueryParameter queryParam, out int totalCount)
        {
            var filter = (ApiCallLogFilter)queryParam.Filter;

            var apiCallLogs = _repository.ApiCallLogs.Where(a => a.RecordedOn >= filter.From && a.RecordedOn <= filter.To)
                              .Where(filter.Ip, a => a.Ip.Contains(filter.Ip))
                              .Where(filter.Path, a => a.Path.Contains(filter.Path))
                              .Where(filter.RequestHeaders, a => a.RequestHeaders.Contains(filter.RequestHeaders))
                              .Where(filter.RequestContent, a => a.RequestContent.Contains(filter.RequestContent))
                              .Where(filter.ResponseHeaders, a => a.ResponseHeaders.Contains(filter.ResponseHeaders))
                              .Where(filter.ResponseContent, a => a.ResponseContent.Contains(filter.ResponseContent))
                              .OrderBy(queryParam.SortOption)
                              .AsNoTracking()
                              .ToPagedArray(queryParam.Page, queryParam.PageSize, out totalCount);

            return(Task.FromResult(apiCallLogs));
        }
Exemple #5
0
        Task <PlayerRecord[]> IPlayerQueries.GetPlayersAsync(IPagableQueryParameter queryParam, out int totalCount)
        {
            var query = from p in _playerRepo.Players
                        join w in _playerRepo.Wallets on p.DefaultWalletId equals w.Id
                        join b in _brandRepo.Brands on p.BrandId equals b.Id
                        join l in _brandRepo.Licensees on b.LicenseeId equals l.Id
                        join blg in _playerRepo.BetLimitGroups on p.BetLimitGroupId equals blg.Id
                        join c in _brandRepo.Currencies on w.CurrencyCode equals c.Code
                        select new PlayerRecord
            {
                Id                        = p.Id,
                Username                  = p.Username,
                ExternalId                = p.ExternalId,
                IpAddress                 = p.IpAddress,
                Tag                       = p.Tag,
                CultureCode               = p.CultureCode,
                DefaultWalletId           = p.DefaultWalletId,
                BrandId                   = p.BrandId,
                CreatedOn                 = p.CreatedOn,
                Status                    = p.Status,
                BetLimitGroupId           = p.BetLimitGroupId,
                IsTestPlayer              = p.IsTestPlayer,
                LastCashierUrl            = p.LastCashierUrl,
                LastHelpUrl               = p.LastHelpUrl,
                LastLoginUrl              = p.LastLoginUrl,
                LastTermsUrl              = p.LastTermsUrl,
                DefaultWalletCurrencyCode = w.CurrencyCode,
                DefaultWalletCurrencyName = c.Name,
                DefaultWalletBalance      = w.Balance,
                BrandName                 = b.Name,
                BrandStatusId             = b.Status,
                LicenseeName              = l.Name,
                LicenseeStatusId          = l.Status,
                BetLimitGroupName         = blg.Name
            };

            var playerRecords = query.Where(queryParam.FilterOptions)
                                .OrderBy(queryParam.SortOption)
                                .ToArray();

            totalCount = playerRecords.Length;

            return(Task.FromResult(playerRecords.ToPagedList(queryParam.Page, queryParam.PageSize).ToArray()));
        }
Exemple #6
0
        Task<PlayerRecord[]> IPlayerQueries.GetPlayersAsync(IPagableQueryParameter queryParam, out int totalCount)
        {
            var query = from p in _playerRepo.Players
                        join w in _playerRepo.Wallets on p.DefaultWalletId equals w.Id
                        join b in _brandRepo.Brands on p.BrandId equals b.Id
                        join l in _brandRepo.Licensees on b.LicenseeId equals l.Id
                        join blg in _playerRepo.BetLimitGroups on p.BetLimitGroupId equals blg.Id
                        join c in _brandRepo.Currencies on w.CurrencyCode equals c.Code
                        select new PlayerRecord
                        {
                            Id = p.Id,
                            Username = p.Username,
                            ExternalId = p.ExternalId,
                            IpAddress = p.IpAddress,
                            Tag = p.Tag,
                            CultureCode = p.CultureCode,
                            DefaultWalletId = p.DefaultWalletId,
                            BrandId = p.BrandId,
                            CreatedOn = p.CreatedOn,
                            Status = p.Status,
                            BetLimitGroupId = p.BetLimitGroupId,
                            IsTestPlayer = p.IsTestPlayer,
                            LastCashierUrl = p.LastCashierUrl,
                            LastHelpUrl = p.LastHelpUrl,
                            LastLoginUrl = p.LastLoginUrl,
                            LastTermsUrl = p.LastTermsUrl,
                            DefaultWalletCurrencyCode = w.CurrencyCode,
                            DefaultWalletCurrencyName = c.Name,
                            DefaultWalletBalance = w.Balance,
                            BrandName = b.Name,
                            BrandStatusId = b.Status,
                            LicenseeName = l.Name,
                            LicenseeStatusId = l.Status,
                            BetLimitGroupName = blg.Name
                        };

            query = query.Where(queryParam.FilterOptions);

            // TODO: Use expression builder.
            switch (queryParam.SortOption.PropertyName.ToLower())
            {
                case "username":
                    query = query.OrderBy(p => p.Username, queryParam.SortOption.IsDescending);
                    break;
                case "externalid":
                    query = query.OrderBy(p => p.ExternalId, queryParam.SortOption.IsDescending);
                    break;
                case "status":
                    query = query.OrderBy(p => p.Status, queryParam.SortOption.IsDescending);
                    break;
                case "balance":
                    query = query.OrderBy(p => p.DefaultWalletBalance, queryParam.SortOption.IsDescending);
                    break;
                case "betlimitgroup":
                    query = query.OrderBy(p => p.BetLimitGroupName, queryParam.SortOption.IsDescending);
                    break;
                default:
                    query = query.OrderBy(p => p.Username, queryParam.SortOption.IsDescending);
                    break;
            }

            var players = PagedList<PlayerRecord>.ToPagedArray(query, queryParam.Page, queryParam.PageSize,
                out totalCount);
            return Task.FromResult(players);
        }
Exemple #7
0
        Task<PlayerRecord[]> IPlayerQueries.GetPlayersAsync(IPagableQueryParameter queryParam, out int totalCount)
        {
            var query = from p in _playerRepo.Players
                        join w in _playerRepo.Wallets on p.DefaultWalletId equals w.Id
                        join b in _brandRepo.Brands on p.BrandId equals b.Id
                        join l in _brandRepo.Licensees on b.LicenseeId equals l.Id
                        join blg in _playerRepo.BetLimitGroups on p.BetLimitGroupId equals blg.Id
                        join c in _brandRepo.Currencies on w.CurrencyCode equals c.Code
                        select new PlayerRecord
                        {
                            Id = p.Id,
                            Username = p.Username,
                            ExternalId = p.ExternalId,
                            IpAddress = p.IpAddress,
                            Tag = p.Tag,
                            CultureCode = p.CultureCode,
                            DefaultWalletId = p.DefaultWalletId,
                            BrandId = p.BrandId,
                            CreatedOn = p.CreatedOn,
                            Status = p.Status,
                            BetLimitGroupId = p.BetLimitGroupId,
                            IsTestPlayer = p.IsTestPlayer,
                            LastCashierUrl = p.LastCashierUrl,
                            LastHelpUrl = p.LastHelpUrl,
                            LastLoginUrl = p.LastLoginUrl,
                            LastTermsUrl = p.LastTermsUrl,
                            DefaultWalletCurrencyCode = w.CurrencyCode,
                            DefaultWalletCurrencyName = c.Name,
                            DefaultWalletBalance = w.Balance,
                            BrandName = b.Name,
                            BrandStatusId = b.Status,
                            LicenseeName = l.Name,
                            LicenseeStatusId = l.Status,
                            BetLimitGroupName = blg.Name
                        };

            query = query.Where(queryParam.FilterOptions)
                         .OrderBy(queryParam.SortOption)
                         .AsNoTracking();

            var players = query.ToPagedArray(queryParam.Page, queryParam.PageSize, out totalCount);

            return Task.FromResult(players);
        }
Exemple #8
0
        Task <PlayerRecord[]> IPlayerQueries.GetPlayersAsync(IPagableQueryParameter queryParam, out int totalCount)
        {
            var query = from p in _playerRepo.Players
                        join w in _playerRepo.Wallets on p.DefaultWalletId equals w.Id
                        join b in _brandRepo.Brands on p.BrandId equals b.Id
                        join l in _brandRepo.Licensees on b.LicenseeId equals l.Id
                        join blg in _playerRepo.BetLimitGroups on p.BetLimitGroupId equals blg.Id
                        join c in _brandRepo.Currencies on w.CurrencyCode equals c.Code
                        select new PlayerRecord
            {
                Id                        = p.Id,
                Username                  = p.Username,
                ExternalId                = p.ExternalId,
                IpAddress                 = p.IpAddress,
                Tag                       = p.Tag,
                CultureCode               = p.CultureCode,
                DefaultWalletId           = p.DefaultWalletId,
                BrandId                   = p.BrandId,
                CreatedOn                 = p.CreatedOn,
                Status                    = p.Status,
                BetLimitGroupId           = p.BetLimitGroupId,
                IsTestPlayer              = p.IsTestPlayer,
                LastCashierUrl            = p.LastCashierUrl,
                LastHelpUrl               = p.LastHelpUrl,
                LastLoginUrl              = p.LastLoginUrl,
                LastTermsUrl              = p.LastTermsUrl,
                DefaultWalletCurrencyCode = w.CurrencyCode,
                DefaultWalletCurrencyName = c.Name,
                DefaultWalletBalance      = w.Balance,
                BrandName                 = b.Name,
                BrandStatusId             = b.Status,
                LicenseeName              = l.Name,
                LicenseeStatusId          = l.Status,
                BetLimitGroupName         = blg.Name
            };

            query = query.Where(queryParam.FilterOptions);

            // TODO: Use expression builder.
            switch (queryParam.SortOption.PropertyName.ToLower())
            {
            case "username":
                query = query.OrderBy(p => p.Username, queryParam.SortOption.IsDescending);
                break;

            case "externalid":
                query = query.OrderBy(p => p.ExternalId, queryParam.SortOption.IsDescending);
                break;

            case "status":
                query = query.OrderBy(p => p.Status, queryParam.SortOption.IsDescending);
                break;

            case "balance":
                query = query.OrderBy(p => p.DefaultWalletBalance, queryParam.SortOption.IsDescending);
                break;

            case "betlimitgroup":
                query = query.OrderBy(p => p.BetLimitGroupName, queryParam.SortOption.IsDescending);
                break;

            default:
                query = query.OrderBy(p => p.Username, queryParam.SortOption.IsDescending);
                break;
            }

            var players = PagedList <PlayerRecord> .ToPagedArray(query, queryParam.Page, queryParam.PageSize,
                                                                 out totalCount);

            return(Task.FromResult(players));
        }