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); }
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)); }
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())); }
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); }
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); }
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)); }