コード例 #1
0
        private Unit UpdateDetail(CupYear cupYear, IOverviewItem overviewItem)
        {
            Items.Clear();

            if (overviewItem != null)
            {
                IList <Group> items;
                ISet <string> teamCodes;

                switch (overviewItem)
                {
                case MatchOverviewItem matchItem:
                    teamCodes = new HashSet <string> {
                        matchItem.Match.Team1.Code, matchItem.Match.Team2.Code
                    };
                    break;

                case TeamOverviewItem teamItem:
                    teamCodes = new HashSet <string> {
                        teamItem.Team.Code
                    };
                    break;

                default:
                    throw new NotImplementedException($"{nameof(IOverviewItem)} {overviewItem.GetType()}");
                }

                items =
                    _groupsByYear[cupYear].GetAll()
                    .Where(group => group.Teams.Any(team => teamCodes.Contains(team.Code)))
                    .ToList();

                Items.AddRange(items);
            }

            return(Unit.Default);
        }
コード例 #2
0
        private Unit UpdateDetail(CupYear cupYear, IOverviewItem overviewItem)
        {
            Items.Clear();

            if (overviewItem != null)
            {
                IList <GoalsWrapper> items;

                switch (overviewItem)
                {
                case MatchOverviewItem matchItem:
                    items = new List <GoalsWrapper> {
                        new GoalsWrapper(
                            matchItem.Match,
                            matchItem.Match.OutcomeTeam1.Goals.Concat(matchItem.Match.OutcomeTeam2.Goals)
                            .OrderBy(goal => goal.Minute)
                            .ToArray())
                    };
                    break;

                case TeamOverviewItem teamItem:
                    items =
                        _matchesByYear[cupYear].GetAll()
                        .SelectMany(match => new[] { (Match: match, Outcome: match.OutcomeTeam1), (Match: match, Outcome: match.OutcomeTeam2) })