예제 #1
0
        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);
        }
예제 #2
0
 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();
 }