示例#1
0
        private void SetTopScorers()
        {
            TopScorerStack.Children.Clear();

            var allScorers = statFetcher.GetTopScorers(ResultsToShow, SelectedTeam);
            var top5       = allScorers.OrderByDescending(scorer => scorer.Goals).Take(5).ToList();

            if (top5.Any())
            {
                foreach (var player in top5)
                {
                    var view = new StatView();
                    view.lblTeam.Text = player.Player.ToString();
                    Uri goalUri = new Uri("pack://application:,,,/Insight;component/Resources/goal.png", UriKind.RelativeOrAbsolute);

                    view.imgBadge.Source = BitmapFrame.Create(goalUri);
                    view.imgBadge.Margin = new Thickness(8);
                    view.lblScore.Text   = player.Goals.ToString();

                    TopScorerStack.Children.Add(view);
                }
            }
            else
            {
                NoDataLabel ndl = new NoDataLabel();
                TopScorerStack.Children.Add(ndl);
            }
        }
示例#2
0
        private void GetRecentReds()
        {
            RedCardStack.Children.Clear();

            var result = ResultsToShow.FirstOrDefault();

            List <RedCard> reds = new List <RedCard>();

            if (result.HomeTeam == SelectedTeam)
            {
                reds = result.HomeRedCards;
            }
            if (result.AwayTeam == SelectedTeam)
            {
                reds = result.AwayRedCards;
            }

            if (reds.Any())
            {
                foreach (var red in reds)
                {
                    var view = new StatView();
                    view.lblTeam.Text    = red.Player.ToString();
                    view.imgBadge.Source = null;
                    view.lblScore.Text   = "";

                    RedCardStack.Children.Add(view);
                }
            }
            else
            {
                NoDataLabel ndl = new NoDataLabel();
                RedCardStack.Children.Add(ndl);
            }
        }
示例#3
0
        void SetRecentReds()
        {
            var list = ResultsToShow.Take(SelectedLeague.NumTeams).ToList();

            var badgeFetcher = new BadgeFetcher();

            RedCardStack.Children.Clear();

            if (list.Any())
            {
                foreach (var fixture in list)
                {
                    foreach (var red in fixture.HomeRedCards)
                    {
                        var view = new StatView();
                        view.lblTeam.Text    = red.Player;
                        view.imgBadge.Source = badgeFetcher.GetBadge(red.Team);
                        view.lblScore.Text   = "";
                        RedCardStack.Children.Add(view);
                    }
                    foreach (var red in fixture.AwayRedCards)
                    {
                        var view = new StatView();
                        view.lblTeam.Text    = red.Player;
                        view.imgBadge.Source = badgeFetcher.GetBadge(red.Team);
                        view.lblScore.Text   = "";
                        RedCardStack.Children.Add(view);
                    }
                }
            }
            else
            {
                NoDataLabel ndl = new NoDataLabel();
                RedCardStack.Children.Add(ndl);
            }
        }
示例#4
0
        private void DisplayMatches()
        {
            GamesStack.Children.Clear();

            var date  = new DateTime(CurrentYear, CurrentMonth, 1);
            var month = date.ToString("MMMM");

            SelectedMonth.Content = month;

            var results  = Results.Where(result => result.KickOff.Contains(month)).ToList();
            var fixtures = Fixtures.Where(result => result.KickOff.Contains(month)).ToList();

            BadgeFetcher badgeFetcher = new BadgeFetcher();

            if (results.Any() || fixtures.Any())
            {
                foreach (var res in results)
                {
                    TeamFixtureView view = new TeamFixtureView();
                    view.Height          = 40;
                    view.txtKickoff.Text = res.KickOff.Split('@')[0];
                    var opponent = res.HomeTeam == SelectedTeam
                        ? res.AwayTeam
                        : res.HomeTeam;
                    view.txtScore.Text = res.HomeScore + " - " + res.AwayScore;

                    view.txtOpponent.Text = opponent;

                    if (res.GetOutcome(SelectedTeam) == Fixture.ResultType.Win)
                    {
                        view.ColorBlock.Background = new SolidColorBrush(Color.FromArgb(255, 45, 181, 43));
                    }
                    else if (res.GetOutcome(SelectedTeam) == Fixture.ResultType.Loss)
                    {
                        view.ColorBlock.Background = new SolidColorBrush(Color.FromArgb(255, 240, 40, 30));
                    }
                    else
                    {
                        view.ColorBlock.Background = new SolidColorBrush(Color.FromArgb(255, 249, 226, 14));
                    }

                    view.imgBadge.Source = badgeFetcher.GetBadge(opponent);

                    view.MouseDown += TeamClicked;

                    GamesStack.Children.Add(view);
                }

                foreach (var res in fixtures)
                {
                    TeamFixtureView view = new TeamFixtureView();
                    view.Height          = 40;
                    view.txtKickoff.Text = res.KickOff;
                    var opponent = res.HomeTeam == SelectedTeam
                        ? res.AwayTeam
                        : res.HomeTeam;
                    view.txtScore.Text = " vs. ";

                    view.txtOpponent.Text = opponent;

                    view.MouseDown += TeamClicked;

                    view.imgBadge.Source = badgeFetcher.GetBadge(opponent);

                    GamesStack.Children.Add(view);
                }
            }
            else
            {
                NoDataLabel ndl = new NoDataLabel();
                GamesStack.Children.Add(ndl);
            }
        }
示例#5
0
        private void DisplayMatches()
        {
            MatchStack.Children.Clear();

            var date  = new DateTime(CurrentYear, CurrentMonth, 1);
            var month = date.ToString("MMMM");

            SelectedMonth.Content = month;

            var results = SelectedLeague.Results.Where(result => result.KickOff.Contains(month)).ToList();

            results.Reverse();
            var fixtures = SelectedLeague.Fixtures.Where(result => result.KickOff.Contains(month)).ToList();

            results.AddRange(fixtures);

            BadgeFetcher badgeFetcher = new BadgeFetcher();

            var sorted = results.GroupBy(res => res.KickOff.Split('@')[0]);

            if (sorted.Any())
            {
                foreach (var item in sorted)
                {
                    var lbl = new DateLabel();
                    lbl.LblDate.Text = item.Key;
                    MatchStack.Children.Add(lbl);

                    foreach (var res in item)
                    {
                        FixtureView view = new FixtureView();
                        view.Height          = 50;
                        view.Margin          = new Thickness(0, 0, 0, 1);
                        view.txtKickoff.Text = res.KickOff.Split('@')[1];

                        view.txtHomeTeam.Text    = res.HomeTeam;
                        view.imgHomeBadge.Source = badgeFetcher.GetBadge(res.HomeTeam);
                        view.txtAwayTeam.Text    = res.AwayTeam;
                        view.imgAwayBadge.Source = badgeFetcher.GetBadge(res.AwayTeam);

                        if (res.LoadingComplete)
                        {
                            view.txtScore.Text = res.HomeScore + " - " + res.AwayScore;
                        }
                        else
                        {
                            view.txtScore.Text = " vs. ";
                        }


                        int count = MatchStack.Children.OfType <FixtureView>().ToList().Count;

                        view.MouseDown += (sender, args) =>
                        {
                            MatchClicked(res, count.ToString());
                        };


                        MatchStack.Children.Add(view);
                    }
                }
            }
            else
            {
                NoDataLabel ndl = new NoDataLabel();
                MatchStack.Children.Add(ndl);
            }

            MatchScroller.ScrollToTop();
            MatchClicked(results.FirstOrDefault(), "0");
        }