public PartialViewResult FootballTeamsCompareInfoDetails(int hostTeamId, int visitorTeamId, MatchCompareType type, int topRows) { FootballTeamsCompareInfoDetailsViewModel vm = this._homeService.GetLastFootballMatches(hostTeamId, visitorTeamId, type, topRows); vm.CompareType = type; return(PartialView("_FootballTeamsCompareInfoH2HTables", vm)); }
public FootballTeamsCompareInfoDetailsViewModel GetLastFootballMatches(int hostTeamId, int visitorTeamId, MatchCompareType type, int topRows) { FootballTeamsCompareInfoDetailsViewModel vm = new FootballTeamsCompareInfoDetailsViewModel(); int cultureId = (int)CultureHelper.GetCurrentCultureType(); switch (type) { case MatchCompareType.Overall: vm.HostMatches = (from match in UnitOfWork.Matches where (match.HomeTeamId == hostTeamId || match.AwayTeamId == hostTeamId) && match.StatusId == (int)MatchStatus.Finished select match).Select(SelectMatchViewModel(cultureId)) .OrderByDescending(o => o.MatchDate) .Take(topRows) .ToList(); vm.VisitorMatches = (from match in UnitOfWork.Matches where (match.HomeTeamId == visitorTeamId || match.AwayTeamId == visitorTeamId) && match.StatusId == (int)MatchStatus.Finished select match).Select(SelectMatchViewModel(cultureId)) .OrderByDescending(o => o.MatchDate) .Take(topRows) .ToList(); vm.BetweenMatches = (from match in UnitOfWork.Matches where ((match.HomeTeamId == hostTeamId && match.AwayTeamId == visitorTeamId) || ((match.HomeTeamId == visitorTeamId && match.AwayTeamId == hostTeamId))) && match.StatusId == (int)MatchStatus.Finished select match).Select(SelectMatchViewModel(cultureId)) .OrderByDescending(o => o.MatchDate) .Take(topRows) .ToList(); break; case MatchCompareType.Host: vm.HostMatches = (from match in UnitOfWork.Matches where match.HomeTeamId == hostTeamId && match.StatusId == (int)MatchStatus.Finished select match).Select(SelectMatchViewModel(cultureId)) .OrderByDescending(o => o.MatchDate) .Take(topRows) .ToList(); vm.BetweenMatches = (from match in UnitOfWork.Matches where (match.HomeTeamId == hostTeamId && match.AwayTeamId == visitorTeamId) && match.StatusId == (int)MatchStatus.Finished select match).Select(SelectMatchViewModel(cultureId)) .OrderByDescending(o => o.MatchDate) .Take(topRows) .ToList(); break; case MatchCompareType.Visitor: vm.VisitorMatches = (from match in UnitOfWork.Matches where match.AwayTeamId == visitorTeamId && match.StatusId == (int)MatchStatus.Finished select match).Select(SelectMatchViewModel(cultureId)) .OrderByDescending(o => o.MatchDate) .Take(topRows) .ToList(); vm.BetweenMatches = (from match in UnitOfWork.Matches where (match.HomeTeamId == hostTeamId && match.AwayTeamId == visitorTeamId) && match.StatusId == (int)MatchStatus.Finished select match).Select(SelectMatchViewModel(cultureId)) .OrderByDescending(o => o.MatchDate) .Take(topRows) .ToList(); break; } return(vm); }