Ejemplo n.º 1
0
        public ActionResult FindReplacement(string name, int score, int position, int team)
        {
            var allPlayers = _context.Players.ToList();
            List <PlayerAndSabrScore> replacements = new List <PlayerAndSabrScore>();

            foreach (var player in allPlayers)
            {
                if (player.PlayerPositionId == position && player.TeamId != team)
                {
                    try
                    {
                        var replacementName = player.FirstName + " " + player.LastName;
                        var playerStat      = _context.PerGameStatLines.FirstOrDefault(m => m.Player.Contains(replacementName));
                        if (playerStat.FieldGoalPercentage == "")
                        {
                            playerStat.FieldGoalPercentage = "0.0";
                        }
                        if (playerStat.ThreePointPercentage == "")
                        {
                            playerStat.ThreePointPercentage = "0.0";
                        }
                        if (playerStat.TwoPointPercentage == "")
                        {
                            playerStat.TwoPointPercentage = "0.0";
                        }
                        if (playerStat.FreeThrowPercentage == "")
                        {
                            playerStat.FreeThrowPercentage = "0.0";
                        }
                        var sabrMetric = GetSabrMetrics.GetSabrMetric(playerStat, player.PlayerPositionId);
                        if (sabrMetric > score)
                        {
                            var replacement = new PlayerAndSabrScore
                            {
                                PlayerName = replacementName,
                                SabrScore  = sabrMetric,
                                PositionId = player.PlayerPositionId,
                                TeamId     = player.TeamId
                            };

                            replacements.Add(replacement);
                        }
                    }
                    catch
                    {
                    }
                }
            }

            List <PlayerAndSabrScore> sortedSabrScores = replacements.OrderByDescending(m => m.SabrScore).ToList();

            var viewModel = new DashboardViewModels.FindReplacementViewModel
            {
                ReplacementsList = sortedSabrScores
            };

            return(View(viewModel));
        }
Ejemplo n.º 2
0
        public ActionResult UndervaluedPlayers()
        {
            var currentUserName = User.Identity.GetUserName();
            var user            = _context.Users.FirstOrDefault(m => m.UserName == currentUserName);
            var userTeam        = _context.Teams.FirstOrDefault(m => m.Id == user.TeamId);
            var allPlayers      = _context.Players.ToList();
            List <PlayerAndSabrScore> undervaluedPlayers = new List <PlayerAndSabrScore>();

            foreach (var p in allPlayers)
            {
                if (p.TeamId != userTeam.Id)
                {
                    try
                    {
                        var name       = p.FirstName + " " + p.LastName;
                        var playerStat = _context.PerGameStatLines.FirstOrDefault(m => m.Player.Contains(name));
                        var sabrMetric = GetSabrMetrics.GetSabrMetric(playerStat, p.PlayerPositionId);
                        var position   = _context.PlayerPositions.FirstOrDefault(m => m.Id == p.PlayerPositionId);
                        var minutes    = decimal.Parse(playerStat.MinutesPlayed);
                        if (sabrMetric >= 70 && minutes.CompareTo(20) <= 0)
                        {
                            var score = new PlayerAndSabrScore
                            {
                                PlayerName = name,
                                SabrScore  = sabrMetric,
                                PositionId = p.PlayerPositionId,
                                Position   = position,
                                TeamId     = p.TeamId
                            };
                            undervaluedPlayers.Add(score);
                        }
                    }
                    catch
                    {
                    }
                }
            }

            var sortedPlayers = undervaluedPlayers.OrderByDescending(m => m.SabrScore);

            var viewModel = new DashboardViewModels.UndervaluedViewModel
            {
                UndervaluedPlayersList = sortedPlayers
            };

            return(View(viewModel));
        }
Ejemplo n.º 3
0
        public ActionResult AnalyzeMyTeam()
        {
            List <Player>             userPlayers    = new List <Player>();
            List <PlayerAndSabrScore> sabrScoresList = new List <PlayerAndSabrScore>();

            var currentUserName = User.Identity.GetUserName();
            var allPlayers      = _context.Players.ToList();
            var user            = _context.Users.FirstOrDefault(m => m.UserName == currentUserName);
            var userTeam        = _context.Teams.FirstOrDefault(m => m.Id == user.TeamId);

            foreach (var player in allPlayers)
            {
                if (player.TeamId == user.TeamId)
                {
                    userPlayers.Add(player);
                }
            }

            foreach (var player in userPlayers)
            {
                try
                {
                    var name       = player.FirstName + " " + player.LastName;
                    var playerStat = _context.PerGameStatLines.FirstOrDefault(m => m.Player.Contains(name));
                    if (playerStat.FieldGoalPercentage == "")
                    {
                        playerStat.FieldGoalPercentage = "0.0";
                    }
                    if (playerStat.ThreePointPercentage == "")
                    {
                        playerStat.ThreePointPercentage = "0.0";
                    }
                    if (playerStat.TwoPointPercentage == "")
                    {
                        playerStat.TwoPointPercentage = "0.0";
                    }
                    if (playerStat.FreeThrowPercentage == "")
                    {
                        playerStat.FreeThrowPercentage = "0.0";
                    }
                    var sabrMetric = GetSabrMetrics.GetSabrMetric(playerStat, player.PlayerPositionId);
                    var score      = new PlayerAndSabrScore
                    {
                        PlayerName = name,
                        SabrScore  = sabrMetric,
                        PositionId = player.PlayerPositionId,
                        TeamId     = player.TeamId
                    };

                    sabrScoresList.Add(score);
                }
                catch
                {
                }
            }
            List <PlayerAndSabrScore> sortedSabrScores = sabrScoresList.OrderByDescending(m => m.SabrScore).ToList();
            List <PlayerAndSabrScore> bottomFive       = new List <PlayerAndSabrScore>();

            bottomFive.Add(sortedSabrScores[sortedSabrScores.Count - 1]);
            bottomFive.Add(sortedSabrScores[sortedSabrScores.Count - 2]);
            bottomFive.Add(sortedSabrScores[sortedSabrScores.Count - 3]);
            bottomFive.Add(sortedSabrScores[sortedSabrScores.Count - 4]);
            bottomFive.Add(sortedSabrScores[sortedSabrScores.Count - 5]);

            var viewModel = new DashboardViewModels.AnalyzeMyTeamViewModel
            {
                CurrentUser          = user,
                Team                 = userTeam,
                ListOfSabrScores     = sabrScoresList,
                BottomFiveSabrScores = bottomFive
            };

            return(View(viewModel));
        }