public ActionResult Search(GameFilterModel model) { if (!ModelState.IsValid) { return(RedirectToAction("Index")); } return(View(GamesDbService.LastClientRent(db, model.cedula))); }
public JsonResult Find(GameFilterModel filters) { var games = GetGames(filters); var total = games.Count(); return(new JsonResult(new { games = GetPage(filters, games), total }, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore })); }
private IQueryable <Game> GetGames(GameFilterModel filters) { var foundGames = context.Games .Include(g => g.TeamGameResults).ThenInclude(cgr => cgr.Team) .Include(g => g.TeamGameResults).ThenInclude(cgr => cgr.Results) .Where(g => string.IsNullOrEmpty(filters.GameName) || g.GameName == filters.GameName) .Where(g => string.IsNullOrEmpty(filters.TeamName) || g.TeamGameResults.Any(gr => gr.Team.Name.StartsWith(filters.TeamName, StringComparison.CurrentCultureIgnoreCase))) .Where(g => string.IsNullOrEmpty(filters.Region) || g.TeamGameResults.Any(gr => gr.Team.Owner.Region == filters.Region)) .AsQueryable(); if (!filters.GameId.HasValue) { return(foundGames); } return(foundGames.Where(g => g.GameId == filters.GameId.Value)); }
private static Game[] GetPage(GameFilterModel model, IQueryable <Game> filteredGames) => filteredGames.Skip(model.Page * GamesPerPage) .Take(GamesPerPage) .Include(g => g.TeamGameResults).ThenInclude(cgr => cgr.Team) .Include(g => g.TeamGameResults).ThenInclude(cgr => cgr.Results) .OrderByDescending(g => g.GameId) .ToArray() .Select(g => { g.PathToLog = null; g.TeamGameResults.ToList().ForEach(r => { r.Team.CvarcTag = Guid.Empty; }); return(g); }).ToArray();
private IQueryable <Game> GetGames(GameFilterModel filters) { var filterTeamName = filters.TeamName; if (string.IsNullOrEmpty(filterTeamName)) { return(context.Games); } var gamesIds = context.TeamGameResults.Include(tr => tr.Game).Include(tr => tr.Team) .Where(tr => !string.IsNullOrEmpty(tr.Team.Name) && tr.Team.Name.StartsWith(filterTeamName, StringComparison.CurrentCultureIgnoreCase)) .Select(tr => tr.Game.GameId) .Distinct() .ToArray(); return(context.Games.Where(g => gamesIds.Contains(g.GameId))); }
public async Task <IActionResult> Get([FromQuery] GameFilterModel filter) { if (this.workContext.CurrentUserId != filter.UserId) { return(this.Forbid()); } var games = await this.gameService.GetAllAsync( userId : filter.UserId, groupType : filter.GroupType, orderBy : filter.OrderByEnum, page : filter.Page, pageSize : filter.PageSize); var models = games.ToModels(); return(this.Ok(models, games.HasNextPage, games.TotalCount)); }
private static Game[] GetPage(GameFilterModel model, IQueryable <Game> filteredGames) => filteredGames.Skip(model.Page * GamesPerPage) .Take(GamesPerPage) .ToArray();