コード例 #1
0
        public Team Create(Team team)
        {
            team = _teamRepository.Create(team);
            _playerService.GeneratePlayerData(team);

            return team;
        }
コード例 #2
0
 public TeamDto(Team team)
     : base(team)
 {
     Name = team.Name;
     UserId = team.UserId;
     StadiumId = team.StadiumId;
     Attack = team.Attack;
     Pass = team.Pass;
     Defense = team.Defense;
 }
コード例 #3
0
        private Team CreateCorrectTeam()
        {
            var team = new Team
            {
                Name = "FC Barcelona",
                User = new User { Id = 1 },
                UserId = 1,
                TeamSetup = TeamSetupEnum.Setup442A
            };

            return team;
        }
コード例 #4
0
        public void GeneratePlayerData(Team team)
        {
            var playerPositions = _teamRepository.GetPlayerPositionsForTeamSetup(team.TeamSetup);
            for(int i = 0; i < playerPositions.Count; ++i)
            {
                CreatePlayerData(team, playerPositions[i]);
            }

            CreatePlayerData(team, PlayerPositionEnum.Goalkeeper);

            int restOfPlayers = 17 - playerPositions.Count;
            for(int i = 0; i < restOfPlayers; ++i)
            {
                CreatePlayerData(team, PlayerPositionEnum.Unknown);
            }
        }
コード例 #5
0
        public OperationResult Create(CreateUserDto createUserDto)
        {
            var user = new User
            {
                FirstName = createUserDto.FirstName,
                LastName = createUserDto.LastName,
                Email = createUserDto.Email,
                Password = CalculatePasswordHash(createUserDto.Password)
            };
            user = _userRepository.Create(user);

            TeamSetupEnum teamSetup = TeamSetupEnum.Unknown;
            if(!TeamSetupEnum.TryParse(createUserDto.TeamSetup, true, out teamSetup))
            {
                return new OperationResult { IsSuccess = false, ErrorMessage = $"Team setup '{createUserDto.TeamSetup}' not exists." };
            }

            var team = new Team
            {
                Name = createUserDto.TeamName,
                TeamSetup = teamSetup,
                User = user,
                UserId = user.Id
            };
            team = _teamService.Create(team);

            var stadium = new Stadium
            {
                Name = createUserDto.StadiumName,
                Capacity = 5000,
                Team = team,
                TeamId = team.Id
            };
            stadium = _stadiumRepository.Create(stadium);

            return new OperationResult { IsSuccess = true, Data = user };;
        }
コード例 #6
0
 public void Update(Team team)
 {
     _teamRepository.Update(team);
 }
コード例 #7
0
        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);
        }