Esempio n. 1
0
        private static void ProcessMatch(this BaseMatchViewModel matchViewModel, LeagueTableItemViewModel leagueTableItem1ViewModel, LeagueTableItemViewModel leagueTableItem2ViewModel, int viewType, DateTime viewDate, int matchCount = 0)
        {
            if (matchViewModel.Team1Ft != null && matchViewModel.Team2Ft != null && matchViewModel.MatchDate <= viewDate.ToEndOfDay())
            {
                switch (Math.Sign((short)matchViewModel.Team1Ft - (short)matchViewModel.Team2Ft))
                {
                case 1:
                    if (leagueTableItem1ViewModel.IsIncluded(true, viewType, matchCount))
                    {
                        leagueTableItem1ViewModel.HomeWins++;
                    }

                    if (leagueTableItem2ViewModel.IsIncluded(false, viewType, matchCount))
                    {
                        leagueTableItem2ViewModel.AwayLosses++;
                    }
                    break;

                case 0:
                    if (leagueTableItem1ViewModel.IsIncluded(true, viewType, matchCount))
                    {
                        leagueTableItem1ViewModel.HomeDraws++;
                    }

                    if (leagueTableItem2ViewModel.IsIncluded(false, viewType, matchCount))
                    {
                        leagueTableItem2ViewModel.AwayDraws++;
                    }
                    break;

                case -1:
                    if (leagueTableItem1ViewModel.IsIncluded(true, viewType, matchCount))
                    {
                        leagueTableItem1ViewModel.HomeLosses++;
                    }

                    if (leagueTableItem2ViewModel.IsIncluded(false, viewType, matchCount))
                    {
                        leagueTableItem2ViewModel.AwayWins++;
                    }
                    break;
                }

                if (leagueTableItem1ViewModel.IsIncluded(true, viewType, matchCount))
                {
                    leagueTableItem1ViewModel.HomeScored   += (int)matchViewModel.Team1Ft;
                    leagueTableItem1ViewModel.HomeConceded += (int)matchViewModel.Team2Ft;
                }

                if (leagueTableItem2ViewModel.IsIncluded(false, viewType, matchCount))
                {
                    leagueTableItem2ViewModel.AwayConceded += (int)matchViewModel.Team1Ft;
                    leagueTableItem2ViewModel.AwayScored   += (int)matchViewModel.Team2Ft;
                }
            }
        }