private IQueryable <Table> GetTablesIQueryable(TableFilterDto filter)
        {
            IQueryable <Table> tables = _db.Tables.Include(x => x.Standing);

            if (filter?.LeagueTitle?.Length > 0)
            {
                tables = tables.Where(x => filter.LeagueTitle.Select(s => s.ToLowerInvariant()).Contains(x.LeagueTitle.ToLowerInvariant()));
            }
            if (filter?.Group?.Length > 0)
            {
                tables = tables.Where(x => filter.Group.Select(s => s.ToLowerInvariant()).Contains(x.Group.ToLowerInvariant()));
            }

            return(tables);
        }
Exemple #2
0
        public async Task TestGetTables_WithEmptyFilter()
        {
            _applicationContext.Database.EnsureDeleted();
            _applicationContext.Matches.AddRange(this.matches);
            _applicationContext.Tables.AddRange(this.tables);
            _applicationContext.SaveChanges();

            MapperInitialize.Configure();

            var filter = new TableFilterDto();
            var tables = await _tableService.GetTables(filter);

            Assert.AreEqual(2, tables.Count);
            Assert.AreEqual(2, tables[0].Standing.Count);
        }
        public async Task <List <TableDto> > GetTables(TableFilterDto filter = null)
        {
            var tableDtos = Mapper.Map <List <TableDto> >(GetTablesIQueryable(filter));

            return(await CalculateRank(tableDtos));
        }
Exemple #4
0
        public async Task <IActionResult> GetTables(TableFilterDto filter)
        {
            var result = await _tableService.GetTables(filter);

            return(result != null ? (IActionResult)Ok(result) : BadRequest());
        }