public IHttpActionResult Create(CreateGameModel model) { var currentUserID = this.User.Identity.GetUserId(); var game = new Game { Name = model.Name, RedUserId = currentUserID, RedUser = this.data.Users.Find(currentUserID), RedNumber = model.Number, DateCreated = DateTime.Now, GameState = GameState.WaitingForOpponent }; this.data.Games.Add(game); this.data.SaveChanges(); var gameModel = new GameDataModel { ID = game.ID, Name = game.Name, Red = game.RedUser.UserName, Blue = "No blue player yet", GameState = game.GameState, DateCreated = game.DateCreated }; return Ok(gameModel); }
public GameDetailsDataModel(Game game, string myUserId, string opponentUserId) { this.ID = game.ID; this.Name = game.Name; this.RedNumber = game.RedNumber; this.BlueNumber = game.BlueNumber; this.GameState = game.GameState; this.DateCreated = game.DateCreated; this.YourGuesses = game.Guesses.AsQueryable().Where(g => g.GameId == game.ID && g.UserId == myUserId).Select(GuessDataModel.FromGuess).ToList(); this.OpponentGuesses = game.Guesses.AsQueryable().Where(g => g.GameId == game.ID && g.UserId == opponentUserId).Select(GuessDataModel.FromGuess).ToList(); }