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()); }
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()); }
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); }
public async Task <IActionResult> Post(CreateCharacterDTO character) { return(Ok(await _characterService.CreateCharacter(character))); }