private int GeneratePassPoints(PlayerPositionEnum playerPosition) { int attackPoints = 0; switch(playerPosition) { case PlayerPositionEnum.LeftForward: case PlayerPositionEnum.CentreForward: case PlayerPositionEnum.RightForward: attackPoints = GeneratePointsWhenPlayerIsMediumOnPosition(); break; case PlayerPositionEnum.LeftMidfield: case PlayerPositionEnum.CentreMidfield: case PlayerPositionEnum.RightMidfield: attackPoints = GeneratePointsWhenPlayerIsGoodOnPosition(); break; case PlayerPositionEnum.LeftBack: case PlayerPositionEnum.CentreBack: case PlayerPositionEnum.RightBack: attackPoints = GeneratePointsWhenPlayerIsMediumOnPosition(); break; case PlayerPositionEnum.Goalkeeper: attackPoints = GeneratePointsWhenPlayerIsWeakOnPosition(); break; default: throw new NotImplementedException("It's impossible to generate pass points for this position."); } return attackPoints; }
private void CreatePlayerData(Team team, PlayerPositionEnum playerPosition) { Random random = new Random(); if(playerPosition == PlayerPositionEnum.Unknown) { int randomPosition = random.Next(1, 12); playerPosition = (PlayerPositionEnum) randomPosition; } int randomFoot = random.Next(1, 2); FavouriteFootEnum favouriteFoot = (FavouriteFootEnum) randomFoot; var player = new Player { FirstName = "John", LastName = "Smith", Team = team, TeamId = team.Id, PlayerPosition = playerPosition, FavouriteFoot = favouriteFoot, Attack = GenerateAttackPoints(playerPosition), Pass = GeneratePassPoints(playerPosition), Defense = GenerateDefensePoints(playerPosition), Age = random.Next(17, 23), Height = random.Next(150, 200), Weight = random.Next(60, 100) }; team.Attack += player.Attack; team.Defense += player.Defense; team.Pass += player.Pass; player.Price = CalculatePrice(player); _playerRepository.Create(player); }