public PlayerStatsViewModel Submit(DateTime queryDate, string playerSlug) { var result = new PlayerStatsViewModel { AsOf = queryDate }; var strDate = Utility.UniversalDate(queryDate); var qp = new System.Text.StringBuilder(); qp.Append("ranking=baseball_daily_player_hitter_ranking"); qp.Append($"&season_id=mlb-{queryDate.Year}&on={strDate}&interval_type=regularseason"); qp.Append($"&player_id={playerSlug}"); var httpWebRequest = CreateRankingsRequest( queryParms: qp.ToString()); var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var json = streamReader.ReadToEnd(); var dto = JsonConvert.DeserializeObject <PlayerRankingDto>( json); Teams = dto.Teams; //PlayerStats = dto.PlayerStats; } result.Player = new Domain.Player { Name = playerSlug }; return(result); }
public ActionResult <object> Post([FromBody] PlayerStatsViewModel user) { if (user == null) { var toSerialize = new MessageHelpers <PlayerStatsViewModel>() { Status = 404, Data = null }; return(JsonConvert.SerializeObject(toSerialize)); } else { try { var id = _playerStatsServiceAsync.Add(user); var toSerialize = new MessageHelpers <PlayerStatsViewModel>() { Status = 200, Data = null }; return(JsonConvert.SerializeObject(toSerialize)); } catch { var toSerialize = new MessageHelpers <PlayerStatsViewModel>() { Status = 502, Data = null }; return(JsonConvert.SerializeObject(toSerialize)); } } }
private void SetPitcherStats(PlayerStatsViewModel result) { if (PlayerStats[0].Era != null) { result.Era = Decimal.Parse(PlayerStats[0].Era); } if (PlayerStats[0].Wins != null) { result.Wins = Int32.Parse(PlayerStats[0].Wins); } if (PlayerStats[0].HitsAllowed != null) { result.HitsAllowed = Int32.Parse( PlayerStats[0].HitsAllowed); } if (PlayerStats[0].InningsPitched != null) { result.InningsPitched = Decimal.Parse( PlayerStats[0].InningsPitched); } if (PlayerStats[0].OpponentsBattingAverage != null) { result.OpponentsBattingAverage = Decimal.Parse( PlayerStats[0].OpponentsBattingAverage); } if (PlayerStats[0].GroundBallToFlyBallRatio != null) { result.GroundBallTpFlyBallRatio = Decimal.Parse( PlayerStats[0].GroundBallToFlyBallRatio); } }
public PlayerStatsViewModel GetLastCards() { var gameId = _gameService.GetCurrentGameId(_playerName); if (gameId < 0) { return(null); } var playerStatsViewModel = new PlayerStatsViewModel(); var cards = new List <List <byte> >(); var flags = _roundService.GetFlagsIsGiveCard(gameId, false).ToList(); bool isFinishRound; do { var cardsLine = _roundService.GetCardsForPlayers(gameId, flags).ToList(); for (int i = 0; i < cardsLine.Count(); i++) { if (cards.Count() < cardsLine.Count()) { cards.Add(new List <byte>()); } cards[i].Add(cardsLine[i]); } playerStatsViewModel.Scores = _roundService.GetScores(gameId).ToList(); flags = _roundService.GetFlagsIsGiveCard(gameId, false).ToList(); isFinishRound = _roundService.GetIsRoundFinished(gameId, flags); }while (!isFinishRound); playerStatsViewModel.Cards = cards; playerStatsViewModel.IsFinishedRound = true; return(playerStatsViewModel); }
public PlayerStatsView() { InitializeComponent(); if (ApiInformation.IsApiContractPresent("Windows.Phone.PhoneContract", 1, 0)) { StatusBar.SetIsVisible(this, false); } DataContext = new PlayerStatsViewModel(); viewModel = DataContext as PlayerStatsViewModel; }
private decimal BattingAverage( PlayerStatsViewModel statsFrom, PlayerStatsViewModel statsTo) { var atBats = statsTo.AtBats - statsFrom.AtBats; if (atBats == 0) { return(0.0M); } var hits = statsTo.Hits - statsFrom.Hits; return(hits / atBats); }
public PlayerStatsView Load(PlayerStatsViewModel vm) { Name.Text = vm.Name; S1Medal.SetCurrentValue(Image.SourceProperty, vm.S1Medal); S2Medal.SetCurrentValue(Image.SourceProperty, vm.S2Medal); S3Medal.SetCurrentValue(Image.SourceProperty, vm.S3Medal); TierDivision.Text = vm.Tier + " " + vm.Division; TotalGames.Text = (vm.Wins + vm.Losses).ToString(); TotalWins.Text = vm.Wins.ToString(); TotalLosses.Text = vm.Losses.ToString(); PlayerData.ItemsSource = vm.RankedStats; return(this); }
private void SetBatterStats(PlayerStatsViewModel result) { if (PlayerStats[0].AtBats != null) { result.AtBats = Decimal.Parse(PlayerStats[0].AtBats); } if (PlayerStats[0].Hits != null) { result.Hits = Int32.Parse(PlayerStats[0].Hits); } if (PlayerStats[0].BattingAverage != null) { result.BattingAverage = Decimal.Parse(PlayerStats[0].BattingAverage); } }
public IActionResult Index(string pid) { var err = new PlayerStatsViewModel { Name = "Not Found", FullName = "-" }; var result = _api.GetStats(pid); if (result is OkObjectResult) { var ok = result as OkObjectResult; var playerStats = JsonConvert.DeserializeObject <PlayerStatsViewModel>(ok.Value.ToString()); return(View(playerStats)); } return(View(err)); }
public async Task <ActionResult <object> > PutAsync(int id, [FromBody] PlayerStatsViewModel user) { if (user == null || user.Id != id) { var toSerialize = new MessageHelpers <PlayerStatsViewModel>() { Status = 404, Data = null }; return(JsonConvert.SerializeObject(toSerialize)); } else { try { int retVal = await _playerStatsServiceAsync.Update(user); if (retVal == 0 && retVal > 0) { var toSerialize = new MessageHelpers <PlayerStatsViewModel>() { Status = 200, Data = null }; return(JsonConvert.SerializeObject(toSerialize)); } else { var toSerialize = new MessageHelpers <PlayerStatsViewModel>() { Status = 404, Data = null }; return(JsonConvert.SerializeObject(toSerialize)); } } catch { var toSerialize = new MessageHelpers <PlayerStatsViewModel>() { Status = 502, Data = null }; return(JsonConvert.SerializeObject(toSerialize)); } } }
public PlayerStatsViewModel Submit(DateTime queryDate, string playerSlug) { var result = new PlayerStatsViewModel { AsOf = queryDate }; var strDate = Utility.UniversalDate(queryDate); var qp = new System.Text.StringBuilder(); qp.Append($"season_id=mlb-{queryDate.Year}"); //qp.Append("&interval_type=today"); qp.Append($"&on={strDate}"); qp.Append($"&player_id={playerSlug}"); var httpWebRequest = CreateRequest( sport: "baseball", league: "mlb", apiRequest: "player_season_stats", queryParms: qp.ToString()); var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var json = streamReader.ReadToEnd(); var dto = JsonConvert.DeserializeObject <PlayerStatsDto>(json); Teams = dto.Teams; PlayerStats = dto.PlayerStats; } result.Player = new Domain.Player { Name = playerSlug }; if (PlayerStats.Count == 1) { SetBatterStats(result); SetPitcherStats(result); } else { //Console.WriteLine($"No Stats for {playerSlug} : {strDate}"); } return(result); }
public PlayerStatsViewModel GetStartCards() { var gameId = _gameService.GetCurrentGameId(_playerName); if (gameId < 0) { return(null); } var playerStatsViewModel = new PlayerStatsViewModel() { IsFinishedRound = false, Cards = _roundService.GetStartCards(gameId), Scores = _roundService.GetScores(gameId).ToList() }; return(playerStatsViewModel); }
public ActionResult Player(int?id) { if (!id.HasValue) { return(RedirectToAction("Index", "Home")); } Player player = playerService.Get(id.Value); if (player == null) { return(RedirectToAction("Index", "Home")); } PlayerStatsViewModel model = new PlayerStatsViewModel() { Player = player, CurrentSeasonFixtureStats = this.statsReportingService.GetPlayerFixtureStatsForSeason(id.Value, competitionService.GetCurrentSeason().Id), SeasonStats = this.statsReportingService.GetPlayerAllSeasonStats(id.Value), CareerStats = this.statsReportingService.GetPlayerCareerStatsByPlayerId(id.Value) }; return(View(model)); }
public static PlayerStatsViewModel GetPlayerModel(SymHackUser user, ModuleManager moduleManager) { var player = new PlayerStatsViewModel() { Email = user.Email, Name = user.FirstName + " " + user.LastName, Stats = new List <ModuleGroupViewModel>() }; var modules = moduleManager.GetAllModules(); var initials = modules.Where(m => m.Prerequisite == null).ToList(); var moduleGroups = new List <OrderedDictionary>(); string type = ""; foreach (var module in initials) { type = module.Type.Name; var next = moduleManager.GetNextModuleById(module.Id); var group = new OrderedDictionary(); var status = moduleManager.GetUserModuleByModuleAndUserId(module.Id, user.Id).Status.Status; group.Add(module.Title, status.Equals("Not Started") ? -0.1 : (status.Equals("In Progress") ? 1 : 2)); while (next != null) { status = moduleManager.GetUserModuleByModuleAndUserId(next.Id, user.Id).Status.Status; group.Add(next.Title, status.Equals("Not Started") ? -0.1 : (status.Equals("In Progress") ? 1 : 2)); next = moduleManager.GetNextModuleById(next.Id); } moduleGroups.Add(group); } int index = 0; foreach (var moduleGroup in moduleGroups) { var labels = moduleGroup.Keys; var data = moduleGroup.Values; string[] colourList = new string[moduleGroup.Count], backgroundColours = new string[moduleGroup.Count], borderColours = new string[moduleGroup.Count]; for (int i = 0; i < moduleGroup.Count; i++) { colourList[i] = ChartColouring.ColourList[i % ChartColouring.ColourList.Length]; backgroundColours[i] = ChartColouring.BackgroundColour[i % ChartColouring.BackgroundColour.Length]; borderColours[i] = ChartColouring.BorderColour[i % ChartColouring.BorderColour.Length]; } player.Stats.Add(new ModuleGroupViewModel() { Id = index++, Type = type, Labels = labels.Cast <string>().ToArray(), Data = data.Cast <double>().ToArray(), ColourList = colourList, BackgroundColour = backgroundColours, BorderColour = borderColours }); } return(player); }
public ActionResult GetPlayerStatistics(string playerId) { using (Profiler.Step("Calculating Player Statistics")) { if (playerId == null) { return(new HttpStatusCodeResult(403, "Invalid request")); } else { var playerCollection = Dbh.GetCollection <Player>("Players"); var matches = Dbh.GetCollection <Match>("Matches") .FindAll() .SetSortOrder(SortBy.Ascending("GameOverTime")) .ToList() .Where(match => match.ContainsPlayer(playerId)) .Where(match => match.GameOverTime != DateTime.MinValue); var playedMatches = matches as List <Match> ?? matches.ToList(); var player = playerCollection.FindOne(Query.EQ("_id", BsonObjectId.Parse(playerId))); var stats = new PlayerStatsViewModel { Player = player, PlayedMatches = playedMatches.OrderByDescending(x => x.GameOverTime), LatestMatch = playedMatches.Last() }; if (playedMatches.Count == 0) { return(Json(stats, JsonRequestBehavior.AllowGet)); } var bff = StatsControllerHelpers.GetBestFriendForever(playerId, playedMatches); var rbff = StatsControllerHelpers.GetRealBestFriendForever(playerId, playedMatches); var eae = StatsControllerHelpers.GetEvilArchEnemy(playerId, playedMatches); var preferredColor = StatsControllerHelpers.GetPreferredColor(playerId, playedMatches); var winningColor = StatsControllerHelpers.GetWinningColor(playerId, playedMatches); var highestRating = StatsControllerHelpers.GetHighestRating(playerId, playedMatches); var lowestRating = StatsControllerHelpers.GetLowestRating(playerId, playedMatches); var longestWinningStreak = StatsControllerHelpers.GetPlayersLongestWinningStreak(playerId, playedMatches); var longestLosingStreak = StatsControllerHelpers.GetPlayersLongestLosingStreak(playerId, playedMatches); foreach (var match in playedMatches) { stats.Played++; stats.Won = match.WonTheMatch(playerId) ? ++stats.Won : stats.Won; stats.Lost = !match.WonTheMatch(playerId) ? ++stats.Lost : stats.Lost; stats.Ranking = playerCollection.FindAll() .SetSortOrder(SortBy.Descending("Rating")) .Where(x => x.Played > 0 && x.Deactivated == false) .ToList() .FindIndex(x => x.Id == playerId) + 1; stats.TotalNumberOfPlayers = (int)playerCollection.Count(Query.GT("Played", 0)); } stats.Bff = bff.OrderByDescending(x => x.Value.Occurrences) .Select(x => x.Value) .FirstOrDefault(); stats.Rbff = rbff.OrderByDescending(x => x.Value.Occurrences).Select(x => x.Value).FirstOrDefault(); stats.Eae = eae.OrderByDescending(x => x.Value.Occurrences) .ThenByDescending(x => x.Value.GoalDiff) .Select(x => x.Value) .FirstOrDefault(); stats.PreferredColor = preferredColor.OrderByDescending(x => x.Value.Occurrences) .Select(x => x.Value) .FirstOrDefault(); stats.WinningColor = winningColor.OrderByDescending(x => x.Value.Occurrences) .Select(x => x.Value) .FirstOrDefault(); stats.HighestRating = highestRating; stats.LowestRating = lowestRating; stats.LongestWinningStreak = longestWinningStreak; stats.LongestLosingStreak = longestLosingStreak; return(Json(stats, JsonRequestBehavior.AllowGet)); } } }
public List <PlayerStatsViewModel> GenerateStandings(List <Player> players, List <Game> games) { List <PlayerStatsViewModel> standings = new List <PlayerStatsViewModel>(); //List<Game> playerGames; int gamesPlayed; int wins; int ties; int losses; int scoresForward; int scoresAgainst; int points; foreach (var player in players) { wins = 0; ties = 0; losses = 0; scoresForward = 0; scoresAgainst = 0; points = 0; var playerGames = games.FindAll(g => (g.HomePlayerId == player.Id || g.AwayPlayerId == player.Id) && g.HomePlayerScore.HasValue && g.AwayPlayerScore.HasValue); gamesPlayed = playerGames.Count; foreach (var game in playerGames) { if (game.HomePlayerId == player.Id) { scoresForward += game.HomePlayerScore.Value; scoresAgainst += game.AwayPlayerScore.Value; if (game.HomePlayerScore.Value > game.AwayPlayerScore.Value) { wins++; points += 3; } else if (game.AwayPlayerScore.Value > game.HomePlayerScore.Value) { losses++; } else { ties++; points += 1; } } else { scoresAgainst += game.HomePlayerScore.Value; scoresForward += game.AwayPlayerScore.Value; if (game.AwayPlayerScore.Value > game.HomePlayerScore.Value) { wins++; points += 3; } else if (game.HomePlayerScore.Value > game.AwayPlayerScore.Value) { losses++; } else { ties++; points += 1; } } } var tmpPlayerstatsViewModel = new PlayerStatsViewModel() { Player = player, GamesPlayed = gamesPlayed, Wins = wins, Ties = ties, Losses = losses, ScoresForward = scoresForward, ScoresAgainst = scoresAgainst, Points = points }; standings.Add(tmpPlayerstatsViewModel); } standings = standings.OrderByDescending(s => s.Points).ThenByDescending(s => s.ScoresForward - s.ScoresAgainst).ThenByDescending(s => s.ScoresForward).ToList(); return(standings); }