public virtual HttpResponseMessage SaveNewPlayer([FromBody] NewPlayerMessage newPlayerMessage, [FromUri] int gamingGroupId) { var requestedPlayer = new CreatePlayerRequest { Name = newPlayerMessage.PlayerName, GamingGroupId = newPlayerMessage.GamingGroupId, PlayerEmailAddress = newPlayerMessage.PlayerEmailAddress }; Player newPlayer; try { newPlayer = _playerSaver.CreatePlayer(requestedPlayer, CurrentUser); } catch (PlayerAlreadyExistsException exception) { exception.ErrorSubCode = 1; throw; } catch (PlayerWithThisEmailAlreadyExistsException exception) { exception.ErrorSubCode = 2; throw; } var newlyCreatedPlayerMessage = new NewlyCreatedPlayerMessage { PlayerId = newPlayer.Id, GamingGroupId = newPlayer.GamingGroupId, NemeStatsUrl = AbsoluteUrlBuilder.GetPlayerDetailsUrl(newPlayer.Id) }; return(Request.CreateResponse(HttpStatusCode.OK, newlyCreatedPlayerMessage)); }
private Player AddUserToGamingGroupAsPlayer(ApplicationUser currentUser) { var createPlayerRequest = new CreatePlayerRequest { Name = currentUser.UserName }; return(_playerSaver.CreatePlayer(createPlayerRequest, currentUser, true)); }
public virtual ActionResult Save(SavePlayedGameRequest request, ApplicationUser currentUser) { if (ModelState.IsValid) { int?resultId; if (request.EditMode && request.PlayedGameId.HasValue) { _playedGameSaver.UpdatePlayedGame( _mapperFactory.GetMapper <SavePlayedGameRequest, UpdatedGame>().Map(request), TransactionSource.WebApplication, currentUser); resultId = request.PlayedGameId; } else { if (request.GameDefinitionId == null) { if (string.IsNullOrEmpty(request.GameDefinitionName)) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } request.GameDefinitionId = _gameDefinitionSaver.CreateGameDefinition(new CreateGameDefinitionRequest { Name = request.GameDefinitionName, GamingGroupId = request.GameDefinitionId ?? currentUser.CurrentGamingGroupId, BoardGameGeekGameDefinitionId = request.BoardGameGeekGameDefinitionId }, currentUser).Id; } foreach (var newPlayer in request.PlayerRanks.Where(p => !p.PlayerId.HasValue)) { newPlayer.PlayerId = _playerSaver.CreatePlayer(new CreatePlayerRequest { GamingGroupId = currentUser.CurrentGamingGroupId, Name = newPlayer.PlayerName }, currentUser).Id; } resultId = _playedGameSaver.CreatePlayedGame( _mapperFactory.GetMapper <SavePlayedGameRequest, NewlyCompletedGame>().Map(request), TransactionSource.WebApplication, currentUser).Id; } return(Json(new { success = true, playedGameId = resultId })); } return(Json(new { success = false, errors = ModelState.Errors() }, JsonRequestBehavior.AllowGet)); }
public virtual HttpResponseMessage SaveNewPlayer([FromBody] NewPlayerMessage newPlayerMessage, [FromUri] int gamingGroupId) { var requestedPlayer = new CreatePlayerRequest { Name = newPlayerMessage.PlayerName, GamingGroupId = newPlayerMessage.GamingGroupId }; var actualNewlyCreatedPlayer = playerSaver.CreatePlayer(requestedPlayer, CurrentUser); var newlyCreatedPlayerMessage = new NewlyCreatedPlayerMessage { PlayerId = actualNewlyCreatedPlayer.Id, GamingGroupId = actualNewlyCreatedPlayer.GamingGroupId }; return(Request.CreateResponse(HttpStatusCode.OK, newlyCreatedPlayerMessage)); }
public virtual ActionResult Save(CreatePlayerRequest createPlayerRequest, ApplicationUser currentUser) { if (!Request.IsAjaxRequest()) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (ModelState.IsValid) { try { createPlayerRequest.Name = createPlayerRequest.Name.Trim(); createPlayerRequest.GamingGroupId = currentUser.CurrentGamingGroupId; var player = playerSaver.CreatePlayer(createPlayerRequest, currentUser); return(Json(player, JsonRequestBehavior.AllowGet)); } catch (PlayerAlreadyExistsException playerAlreadyExistsException) { return(new HttpStatusCodeResult(HttpStatusCode.Conflict, playerAlreadyExistsException.Message)); } } return(new HttpStatusCodeResult(HttpStatusCode.NotModified)); }