public void GivenACompleteValidCharacter_AddsCharacter() { // Arrange var expectedName = "Meraddison"; var expectedClass = "Warlock"; var expectedSpecialization = "Affliction"; var expectedLevel = 120; var expectedRealm = "area-52"; var expectedRace = "Undead"; var expectedGender = CharacterGender.Female; int?expectedGameId = null; var dto = new AddCharacterRequest(DefaultPlayer.Id, expectedGameId, expectedName, expectedGender, expectedLevel, expectedClass, expectedSpecialization, expectedRace, expectedRealm); // Act var result = _controller.AddCharacter(dto); var foundCharacter = Context.Characters.Find(result.Value); // Assert foundCharacter.Should().NotBeNull(); foundCharacter.PlayerId.Should().Be(DefaultPlayer.Id); foundCharacter.Name.Should().Be(expectedName); foundCharacter.GameId.Should().BeNull(); foundCharacter.Class.Should().Be(expectedClass); foundCharacter.Race.Should().Be(expectedRace); foundCharacter.Level.Should().Be(expectedLevel); foundCharacter.Gender.Should().Be(expectedGender); foundCharacter.Realm.Should().Be(expectedRealm); }
public async Task AddCharacter(AddCharacterRequest addCharacterRequest) { var project = await ProjectRepository.GetProjectAsync(addCharacterRequest.ProjectId); project.RequestMasterAccess(CurrentUserId, acl => acl.CanEditRoles); project.EnsureProjectActive(); var character = new Character { CharacterName = Required(addCharacterRequest.Name), ParentCharacterGroupIds = await ValidateCharacterGroupList(addCharacterRequest.ProjectId, Required(addCharacterRequest.ParentCharacterGroupIds)), ProjectId = addCharacterRequest.ProjectId, IsPublic = addCharacterRequest.IsPublic, IsActive = true, IsAcceptingClaims = addCharacterRequest.IsAcceptingClaims, HidePlayerForCharacter = addCharacterRequest.HidePlayerForCharacter, IsHot = addCharacterRequest.IsHot, }; Create(character); MarkTreeModified(project); // ReSharper disable once MustUseReturnValue //TODO we do not send message for creating character FieldSaveHelper.SaveCharacterFields(CurrentUserId, character, addCharacterRequest.FieldValues, FieldDefaultValueGenerator); await UnitOfWork.SaveChangesAsync(); }
public async Task <IActionResult> CharacterAddPost(AddCharacterRequest request) { try { await gameService.AddCharacter(request.GameID, request.CharacterID, request.Name, request.Image); return(RedirectToAction("Home", new { request.GameID })); } catch (Exception exception) { return(GetExceptionResult(exception, request)); } }
public ActionResult <Guid> AddCharacter(AddCharacterRequest request) { var player = _context.Players.Find(request.PlayerId); if (player is null) { return(NotFound()); } var character = new Character(player.Id, request.GameId, request.Name, request.Gender, request.Level, request.Class, request.Specialization, request.Race, request.Realm); _context.Characters.Add(character); _context.SaveChanges(); return(character.Id); }
public async Task<AddCharacterResponse> Add(AddCharacterRequest request) { var characterType = await _db.CharacterTypes.FindAsync(request.CharacterTypeId); var character = new Character { Name = request.Name, NumberOfComics = request.NumberOfComics, NumberOfSeries = request.NumberOfSeries, ProfilePage = request.ProfilePage, CharacterType = characterType }; _db.Characters.Add(character); await _db.SaveChangesAsync(); return new AddCharacterResponse { Success = true, Character = new CharacterDto {Id = character.Id} }; }
public async Task <AddCharacterResponse> Add(AddCharacterRequest request) { var characterType = await _db.CharacterTypes.FindAsync(request.CharacterTypeId); var character = new Character { Name = request.Name, NumberOfComics = request.NumberOfComics, NumberOfSeries = request.NumberOfSeries, ProfilePage = request.ProfilePage, CharacterType = characterType }; _db.Characters.Add(character); await _db.SaveChangesAsync(); return(new AddCharacterResponse { Success = true, Character = new CharacterDto { Id = character.Id } }); }
public void GivenSomeNullOrDefaultProperties_AddsCharacter(int?gameId, string name, CharacterGender gender, int?level, string @class, string specialization, string race, string realm) { // Arrange var dto = new AddCharacterRequest(DefaultPlayer.Id, gameId, name, gender, level, @class, specialization, race, realm); // Act var result = _controller.AddCharacter(dto); var foundCharacter = Context.Characters.Find(result.Value); // Assert foundCharacter.Should().NotBeNull(); foundCharacter.PlayerId.Should().Be(DefaultPlayer.Id); foundCharacter.Name.Should().Be(name); foundCharacter.GameId.Should().Be(gameId); foundCharacter.Class.Should().Be(@class); foundCharacter.Specialization.Should().Be(specialization); foundCharacter.Race.Should().Be(race); foundCharacter.Level.Should().Be(level); foundCharacter.Gender.Should().Be(gender); foundCharacter.Realm.Should().Be(realm); }
public async Task <IHttpActionResult> Post(AddCharacterRequest request) { var response = await _characterCommandService.Add(request); return(CreatedAtRoute("DefaultApi", new { id = response.Character.Id }, response.Character)); }