public void Delete(PlayerStatistics model) { using (var context = new BolfTrackerContext()) { context.PlayerStatistics.Remove(model); context.SaveChanges(); } }
public void Add(PlayerStatistics model) { using (var context = new BolfTrackerContext()) { context.PlayerStatistics.Attach(model); context.Entry(model).State = EntityState.Added; context.SaveChanges(); } }
private PlayerStatistics CalculatePlayerStatistics(Player player, int month, int year) { var playerStatistics = new PlayerStatistics() { Player = player, Month = month, Year = year }; var playerGameStatistics = _gameStatisticsRepository.GetByPlayerMonthAndYear(player.Id, month, year); playerStatistics.Wins = playerGameStatistics.Count(gs => gs.Winner); playerStatistics.Losses = playerGameStatistics.Count(gs => !gs.Winner); playerStatistics.WinningPercentage = Decimal.Round(Convert.ToDecimal(playerStatistics.Wins) / Convert.ToDecimal(playerStatistics.TotalGames), 3, MidpointRounding.AwayFromZero); playerStatistics.ShotsMade = playerGameStatistics.Sum(gs => gs.ShotsMade); playerStatistics.Attempts = playerGameStatistics.Sum(gs => gs.Attempts); playerStatistics.ShootingPercentage = Decimal.Round(Convert.ToDecimal(playerStatistics.ShotsMade) / Convert.ToDecimal(playerStatistics.Attempts), 3, MidpointRounding.AwayFromZero); playerStatistics.Points = playerGameStatistics.Sum(gs => gs.Points); playerStatistics.PointsPerGame = Decimal.Round(Convert.ToDecimal(playerStatistics.Points) / Convert.ToDecimal(playerStatistics.TotalGames), 1, MidpointRounding.AwayFromZero); playerStatistics.Pushes = playerGameStatistics.Sum(gs => gs.Pushes); playerStatistics.PushesPerGame = Decimal.Round(Convert.ToDecimal(playerStatistics.Pushes) / Convert.ToDecimal(playerStatistics.TotalGames), 1, MidpointRounding.AwayFromZero); playerStatistics.Steals = playerGameStatistics.Sum(gs => gs.Steals); playerStatistics.StealsPerGame = Decimal.Round(Convert.ToDecimal(playerStatistics.Steals) / Convert.ToDecimal(playerStatistics.TotalGames), 1, MidpointRounding.AwayFromZero); ; playerStatistics.SugarFreeSteals = playerGameStatistics.Sum(gs => gs.SugarFreeSteals); playerStatistics.SugarFreeStealsPerGame = Decimal.Round(Convert.ToDecimal(playerStatistics.SugarFreeSteals) / Convert.ToDecimal(playerStatistics.TotalGames), 1, MidpointRounding.AwayFromZero); return playerStatistics; }
private PlayerStatistics CalculatePlayerStatistics(Player player, IEnumerable<PlayerGameStatistics> playerGameStatistics, int month, int year) { var playerStatistics = new PlayerStatistics() { Player = player, Month = month, Year = year }; playerStatistics.Wins = playerGameStatistics.Count(gs => gs.Winner); playerStatistics.Losses = playerGameStatistics.Count(gs => !gs.Winner); playerStatistics.WinningPercentage = Decimal.Round((decimal)playerStatistics.Wins / (decimal)playerStatistics.TotalGames, 3, MidpointRounding.AwayFromZero); playerStatistics.ShotsMade = playerGameStatistics.Sum(gs => gs.ShotsMade); playerStatistics.Attempts = playerGameStatistics.Sum(gs => gs.Attempts); playerStatistics.ShootingPercentage = Decimal.Round((decimal)playerStatistics.ShotsMade / (decimal)playerStatistics.Attempts, 3, MidpointRounding.AwayFromZero); playerStatistics.Points = playerGameStatistics.Sum(gs => gs.Points); playerStatistics.PointsPerGame = Decimal.Round((decimal)playerStatistics.Points / (decimal)playerStatistics.TotalGames, 1, MidpointRounding.AwayFromZero); playerStatistics.Pushes = playerGameStatistics.Sum(gs => gs.Pushes); playerStatistics.PushesPerGame = Decimal.Round((decimal)playerStatistics.Pushes / (decimal)playerStatistics.TotalGames, 1, MidpointRounding.AwayFromZero); playerStatistics.Steals = playerGameStatistics.Sum(gs => gs.Steals); playerStatistics.StealsPerGame = Decimal.Round((decimal)playerStatistics.Steals / (decimal)playerStatistics.TotalGames, 1, MidpointRounding.AwayFromZero); ; playerStatistics.SugarFreeSteals = playerGameStatistics.Sum(gs => gs.SugarFreeSteals); playerStatistics.SugarFreeStealsPerGame = Decimal.Round((decimal)playerStatistics.SugarFreeSteals / (decimal)playerStatistics.TotalGames, 1, MidpointRounding.AwayFromZero); return playerStatistics; }