public IActionResult Post(int gameId, [FromBody] CreateCharacterDTO createCharacterDTO)
        {
            var game = _gameRepository.GetGame(gameId);

            if (game == null)
            {
                return(NotFound());
            }

            Character character = _mapper.Map <Character>(createCharacterDTO);

            character.Game = game;

            var valid = _characterValidator.Validate(character);

            if (!valid.IsValid)
            {
                return(BadRequest());
            }

            _characterService.CreateCharacter(character, game);

            if (_characterRepository.SaveCharacter() > 0)
            {
                return(Ok());
            }
            return(BadRequest());
        }
Exemple #2
0
        public async Task CreateNewCharacter(CreateCharacterDTO data, string accountName)
        {
            var account = await _accountRepository.GetByName(accountName);

            if (await _playerRepository.GetByName(data.Name) != null)
            {
                throw new CharacterAlreadyRegisteredException();
            }

            var allowedVocations = GetVocationsOnCreate();

            if (!allowedVocations.Contains(data.Vocation))
            {
                throw new TryingToSaveInvalidDataException();
            }

            var character = new Player()
            {
                Name       = data.Name,
                Vocation   = data.Vocation,
                Conditions = new byte[8],
                Sex        = data.Sex,
                Account    = account
            };

            await _playerRepository.Insert(character);
        }
        public ActionResult <CharacterDTO> CreateCharacter(CreateCharacterDTO createCharacterDTO)
        {
            Character character = new Character
            {
                Id   = Guid.NewGuid(),
                Name = createCharacterDTO.Name
            };

            repository.CreateCharacter(character);

            return(character.AsDTO());
        }
Exemple #4
0
        public void CreateCharacter()
        {
            var characterToCreate = new CreateCharacterDTO()
            {
                Name = Guid.NewGuid().ToString()
            };

            var controller = new CharactersController(repository.Object);

            var result = controller.CreateCharacter(characterToCreate);

            Assert.IsType <CharacterDTO>(result.Value);
        }
Exemple #5
0
 public async Task <IActionResult> Post(CreateCharacterDTO character)
 {
     return(Ok(await _characterService.CreateCharacter(character)));
 }