Example #1
0
        public IReadOnlyList <ILeagueMatch> FindAll(ILeagueTeam leagueTeam)
        {
            const string sql = @"
				SELECT
					league_match_id as leaguematchid,
					league_id as leagueid,
					home_match_team_id as homematchleagueteamid,
					away_match_team_id as awaymatchleagueteamid,
					match_created_time as matchcreatedtime,
					match_start_time as matchstarttime,
					match_finish_time as matchfinishtime,
					match_results as matchesults,
					match_results_reported_time as matchesultsreportedtime
				FROM public.league_match
				WHERE league_team_id = @LeagueTeamId"                ;

            using (var connection = AppDataConnection.Create())
            {
                var records                   = connection.Query <LeagueMatchRecord>(sql, new { leagueTeam.LeagueTeamId }).ToList();
                var leagueTeamIds             = records.SelectMany(x => new[] { x.AwayLeagueTeamId, x.HomeLeagueTeamId }).ToList();
                var leagueTeamsByLeagueTeamId = new LeagueTeamStore().Find(leagueTeamIds).ToDictionary(x => x.LeagueTeamId, x => x);

                return(records.Select(record => Create(record, leagueTeamsByLeagueTeamId)).ToList());
            }
        }
Example #2
0
 public LeagueTeamViewModel Create(ILeagueTeam leagueTeam)
 {
     return(new LeagueTeamViewModel
     {
         TeamId = leagueTeam.Team.TeamId,
         Name = leagueTeam.Team.Name,
     });
 }