예제 #1
0
        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));
        }
예제 #2
0
        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);
        }