Ejemplo n.º 1
0
        public async Task <IEnumerable <Match> > GetMatches(FootballFilter filter, int page, int pageSize)
        {
            var matches = await Task.Run(() => this.futbolContext.Match
                                         .Include(i => i.MatchData)
                                         .Include(i => i.HomeTeam)
                                         .Include(i => i.AwayTeam)
                                         .Include(i => i.Competition)
                                         .Include(i => i.Season)
                                         .Where(w => (!filter.CompetitionId.HasValue || filter.CompetitionId.Value == w.CompetitionId) &&
                                                (!filter.SeasonId.HasValue || filter.SeasonId.Value == w.SeasonId) &&
                                                (!filter.TeamId.HasValue || ((filter.TeamId == w.HomeTeamId && (!filter.TeamId_2.HasValue || filter.TeamId_2 == w.AwayTeamId)) ||
                                                                             (filter.TeamId == w.AwayTeamId && (!filter.TeamId_2.HasValue || filter.TeamId_2 == w.HomeTeamId)))) &&
                                                (!filter.HomeTeamId.HasValue || w.HomeTeamId == filter.HomeTeamId.Value) &&
                                                (!filter.AwayTeamId.HasValue || w.AwayTeamId == filter.AwayTeamId.Value) &&
                                                (!filter.BoxScoreFirst.HasValue ||
                                                 (w.MatchData.FTHomeGoals == filter.BoxScoreFirst.Value &&
                                                  w.MatchData.FTAwayGoals == filter.BoxScoreSecond.Value) ||
                                                 (w.MatchData.FTAwayGoals == filter.BoxScoreFirst.Value &&
                                                  w.MatchData.FTHomeGoals == filter.BoxScoreSecond.Value)) &&
                                                (!filter.HalftimeBoxScoreFirst.HasValue ||
                                                 (w.MatchData.HTHomeGoals == filter.HalftimeBoxScoreFirst.Value &&
                                                  w.MatchData.HTAwayGoals == filter.HalftimeBoxScoreSecond.Value) ||
                                                 (w.MatchData.HTAwayGoals == filter.HalftimeBoxScoreFirst.Value &&
                                                  w.MatchData.HTHomeGoals == filter.HalftimeBoxScoreSecond.Value)))
                                         .OrderBy(o => o.MatchDate).ToList());

            return(matches);
        }
Ejemplo n.º 2
0
        public async Task <IEnumerable <FootballMatch> > GetMatches(FootballFilter filter, int page, int pageSize)
        {
            var matchData = await this.footballRepository.GetMatches(filter, page, pageSize);

            var mappedMatches = this.MapData(matchData);

            //var result = mappedMatches.BuildPageHeader(page, pageSize);

            return(mappedMatches);
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> SearchScores([FromQuery] FootballFilter filter = null, [FromQuery] int page = 1, [FromQuery] int pageSize = 100)
        {
            if (filter != null && filter.MatchId.HasValue)
            {
                return(this.Ok(await this.footballService.GetMatchById(filter.MatchId.Value)));
            }

            var matches = await this.footballService.GetMatches(filter, page, pageSize);

            return(this.Ok(matches));
        }