Пример #1
0
        public PlayerDisplay(TeamMatchesDataPlayer player, TeamMatchesData TeamMatchData)
        {
            Player             = player;
            this.TeamMatchData = TeamMatchData;
            InitializeComponent();

            DataContainer.DataContext = Player;
            using (var ms = new MemoryStream())
            {
                if (player.PlayerImage != null)
                {
                    Player.PlayerImage.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
                    ms.Position = 0;

                    var bi = new BitmapImage();
                    bi.BeginInit();
                    bi.CacheOption  = BitmapCacheOption.OnLoad;
                    bi.StreamSource = ms;
                    bi.EndInit();
                    PlayerImage.ImageSource = bi;
                }
                else
                {
                    PlayerImage.ImageSource = new BitmapImage(new Uri("../../../PlayerImages/defaultplayer.png", UriKind.Relative));
                }
            }
        }
Пример #2
0
        private void FetchTeamofPlayersForRankings(TeamMatchesData MatchesData, string TeamCode, IDictionary <string, PlayerForRankings> PlayersForRankings)
        {
            IEnumerable <TeamMatchesDataPlayer> players;

            TeamEvent[] events;

            if (MatchesData.HomeTeam.Code == TeamCode)
            {
                players = MatchesData.HomeTeamStatistics.StartingEleven.Union(MatchesData.HomeTeamStatistics.Substitutes);

                foreach (var player in players)
                {
                    if (PlayersForRankings.ContainsKey(player.Name))
                    {
                        PlayersForRankings[player.Name].Appearances++;
                    }
                    else
                    {
                        PlayersForRankings[player.Name] = new PlayerForRankings()
                        {
                            Name  = player.Name,
                            Image = player.PlayerImage
                        };
                        PlayersForRankings[player.Name].Appearances++;
                    }
                }
                events = MatchesData.HomeTeamEvents;
            }
            else
            {
                players = MatchesData.AwayTeamStatistics.StartingEleven.Union(MatchesData.AwayTeamStatistics.Substitutes);
                foreach (var player in players)
                {
                    if (PlayersForRankings.ContainsKey(player.Name))
                    {
                        PlayersForRankings[player.Name].Appearances++;
                    }
                    else
                    {
                        PlayersForRankings[player.Name] = new PlayerForRankings()
                        {
                            Name  = player.Name,
                            Image = player.PlayerImage
                        };
                        PlayersForRankings[player.Name].Appearances++;
                    }
                }
                events = MatchesData.AwayTeamEvents;
            }
            foreach (var playerevent in events)
            {
                switch (playerevent.TypeOfEvent)
                {
                case "yellow-card":
                    PlayersForRankings[playerevent.Player].YellowCards++;
                    break;

                case "goal":
                    PlayersForRankings[playerevent.Player].GoalsScored++;
                    break;

                default:
                    break;
                }
            }
        }
Пример #3
0
        private async void CboOppositeTeam_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (cboOppositeTeam.SelectedIndex == -1 || cboFavoriteTeam.SelectedIndex == -1)
            {
                return;
            }
            SoccerCanvas.Children.Clear();

            string favoritecode   = (cboFavoriteTeam.SelectedItem as TeamFifaData).FifaCode;
            string oppositioncode = (cboOppositeTeam.SelectedItem as TeamFifaData).FifaCode;
            bool   home           = false;
            var    MatchesData    = await repo.FetchTeamMatchesDataAsyc(favoritecode);

            TeamMatchesData MatchData = null;
            TeamStatistics  fav       = new TeamStatistics();
            TeamStatistics  opp       = new TeamStatistics();

            foreach (var Match in MatchesData)
            {
                if (Match.AwayTeam.Code == oppositioncode)
                {
                    home      = true;
                    opp       = Match.AwayTeamStatistics;
                    fav       = Match.HomeTeamStatistics;
                    MatchData = Match;
                }
                else if (Match.HomeTeam.Code == oppositioncode)
                {
                    home      = false;
                    opp       = Match.HomeTeamStatistics;
                    fav       = Match.AwayTeamStatistics;
                    MatchData = Match;
                }
            }
            int[] sequence = new int[] { 2, 3, 1, 4, 0, 0, 0 };
            Dictionary <string, int[]> dicseq = new Dictionary <string, int[]>();

            int g = 0;
            int d = 0;
            int m = 0;
            int f = 0;

            foreach (var player in fav.StartingEleven)
            {
                PlayerDisplay pd = new PlayerDisplay(player, MatchData);
                SoccerCanvas.Children.Add(pd);
                switch (player.Position)
                {
                case "Goalie":
                    Grid.SetRow(pd, sequence[g]);
                    Grid.SetColumn(pd, 0);
                    g++;
                    break;

                case "Defender":
                    Grid.SetRow(pd, sequence[d]);
                    Grid.SetColumn(pd, 1);
                    d++;
                    break;

                case "Midfield":
                    Grid.SetRow(pd, sequence[m]);
                    Grid.SetColumn(pd, 2);
                    m++;
                    break;

                case "Forward":
                    Grid.SetRow(pd, sequence[f]);
                    Grid.SetColumn(pd, 3);
                    f++;
                    break;

                default:
                    break;
                }
            }
            g = 0;
            d = 0;
            m = 0;
            f = 0;
            foreach (var player in opp.StartingEleven)
            {
                PlayerDisplay pd = new PlayerDisplay(player, MatchData);
                SoccerCanvas.Children.Add(pd);
                switch (player.Position)
                {
                case "Goalie":
                    Grid.SetRow(pd, sequence[g]);
                    Grid.SetColumn(pd, 7);
                    g++;
                    break;

                case "Defender":
                    Grid.SetRow(pd, sequence[d]);
                    Grid.SetColumn(pd, 6);
                    d++;
                    break;

                case "Midfield":
                    Grid.SetRow(pd, sequence[m]);
                    Grid.SetColumn(pd, 5);
                    m++;
                    break;

                case "Forward":
                    Grid.SetRow(pd, sequence[f]);
                    Grid.SetColumn(pd, 4);
                    f++;
                    break;

                default:
                    break;
                }
            }
        }