public IHttpActionResult Create(GameCreateDataModel model) { var currentUserId = this.userIdProvider.GetUserId(); var redPlayer = this.data.Users.Find(currentUserId); var number = model.Number; if (!IsValudNumber(number)) { return(BadRequest("Invalid number")); } Game newGame = new Game { RedPlayerId = currentUserId, RedPlayer = redPlayer, Name = model.Name, RedPlayerNumber = number, GameState = BullsAndCows.Models.GameState.WaitingForOpponent, DateCreated = DateTime.Now }; this.data.Games.Add(newGame); this.data.SaveChanges(); GameViewModel result = new GameViewModel(newGame); return(Ok(result)); }
public IHttpActionResult CreateGame(GameCreateDataModel gameModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (!this.IsValidNumber(gameModel.Number)) { return(BadRequest("Number is not valid")); } var userId = GetCurrentUserId(); var user = GetCurrentUser(userId); var game = new Game { Name = gameModel.Name, GameState = GameState.WaitingForOpponent, DateCreated = DateTime.Now, FirstUserId = userId, FirstUser = user, FirstUserSecretNumber = gameModel.Number }; this.Data.Games.Add(game); this.Data.SaveChanges(); var gameDataToReturn = new CreateGameResponseDataModel(game); return(Created(string.Format("api/games/{0}", gameDataToReturn.Id), gameDataToReturn)); }