public AllMatchesModel GetDoubleLeagueMatchById(int matchId) { var query = _context.DoubleLeagueMatches.FirstOrDefault(x => x.Id == matchId); TimeSpan?playingTime = null; if (query.EndTime != null) { playingTime = query.EndTime - query.StartTime; } var subquery = from dlp in _context.DoubleLeaguePlayers where dlp.DoubleLeagueTeamId == query.TeamOneId join u in _context.Users on dlp.UserId equals u.Id select new TeamModel { Id = dlp.Id, FirstName = u.FirstName, LastName = u.LastName, Email = u.Email, PhotoUrl = u.PhotoUrl }; var teamOne = subquery.ToArray(); var subquery2 = from dlp in _context.DoubleLeaguePlayers where dlp.DoubleLeagueTeamId == query.TeamTwoId join u in _context.Users on dlp.UserId equals u.Id select new TeamModel { Id = dlp.Id, FirstName = u.FirstName, LastName = u.LastName, Email = u.Email, PhotoUrl = u.PhotoUrl }; var teamTwo = subquery2.ToArray(); var allTeams = new AllMatchesModel { Id = query.Id, TeamOneId = query.TeamOneId, TeamTwoId = query.TeamTwoId, LeagueId = query.LeagueId, StartTime = query.StartTime, EndTime = query.EndTime, TeamOneScore = (int)query.TeamOneScore, TeamTwoScore = (int)query.TeamTwoScore, MatchStarted = (bool)query.MatchStarted, MatchEnded = (bool)query.MatchEnded, MatchPaused = (bool)query.MatchPaused, TotalPlayingTime = playingTime != null?ToReadableAgeString(playingTime.Value) : null, TeamOne = teamOne, TeamTwo = teamTwo }; return(allTeams); }
public IEnumerable <AllMatchesModel> GetAllMatchesByOrganisationId(int currentOrganisationId, int leagueId) { var query = _context.DoubleLeagueMatches.Where(x => x.LeagueId == leagueId).ToList(); List <AllMatchesModel> result = new List <AllMatchesModel>(); foreach (var item in query) { var subquery = from dlp in _context.DoubleLeaguePlayers where dlp.DoubleLeagueTeamId == item.TeamOneId join u in _context.Users on dlp.UserId equals u.Id select new TeamModel { Id = dlp.Id, FirstName = u.FirstName, LastName = u.LastName, Email = u.Email }; var teamOne = subquery.ToArray(); var subquery2 = from dlp in _context.DoubleLeaguePlayers where dlp.DoubleLeagueTeamId == item.TeamTwoId join u in _context.Users on dlp.UserId equals u.Id select new TeamModel { Id = dlp.Id, FirstName = u.FirstName, LastName = u.LastName, Email = u.Email }; var teamTwo = subquery2.ToArray(); var allTeams = new AllMatchesModel { Id = item.Id, TeamOneId = item.TeamOneId, TeamTwoId = item.TeamTwoId, LeagueId = item.LeagueId, StartTime = item.StartTime, EndTime = item.EndTime, TeamOneScore = (int)item.TeamOneScore, TeamTwoScore = (int)item.TeamTwoScore, MatchStarted = (bool)item.MatchStarted, MatchEnded = (bool)item.MatchEnded, MatchPaused = (bool)item.MatchPaused, TeamOne = teamOne, TeamTwo = teamTwo }; result.Add(allTeams); } return(result); }