Example #1
0
        public ActionResult Move(MoveDTO moveCoords)
        {
            GameVM vm;
            var    name        = User.Identity.Name;
            Room   currentRoom = _roomsManager.GetRoomById(moveCoords.GameID);

            if (currentRoom == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
            }
            currentRoom.MarkUserAsActive(new User()
            {
                Name = name
            });
            var currentGame = currentRoom.Game;

            lock (currentGame)
            {
                vm = currentGame.MakeTurnAndUpdateGame(moveCoords, name, currentRoom.Owner.Name);
                _roomsManager.SaveChanges(currentGame);
                if (currentGame.GameState == Game.State.Gameover)
                {
                    var dbContext          = new ApplicationDbContext();
                    var service            = new PlayerStatsService(dbContext);
                    var gameHistoryService = new GameHistoryService(dbContext);
                    service.UpdatePlayerStats(currentGame);
                    gameHistoryService.SaveGameToHistory(currentGame);
                }
            }
            JsonResult result = new JsonResult {
                Data = JsonConvert.SerializeObject(vm)
            };

            return(result);
        }
        /// <summary> Looks up a Player Stat by its ID. </summary>
        public IHttpActionResult Get(int id)
        {
            PlayerStatsService playerStatsService = CreatePlayerStatsService();
            var playerStats = playerStatsService.GetPlayerStatsByID(id);

            return(Ok(playerStats));
        }
        public IHttpActionResult Get()
        {
            PlayerStatsService playerStats = CreatePlayerStatsService();
            var players = playerStats.GetPlayerStats();

            return(Ok(players));
        }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="playerStatsService"></param>
 public PlayerStatsController(PlayerStatsService <PlayerStatsViewModel, PlayerStat> playerStatsService)
 {
     _playerStatsService = playerStatsService;
 }
        public ActionResult Delete(int id)
        {
            PlayerStatsService playerStatsService = new PlayerStatsService();

            return(View(playerStatsService.GetPlayerStatsByID(id)));
        }
        // GET: PlayerStatsView
        public ActionResult Index()
        {
            PlayerStatsService playerStatsService = new PlayerStatsService();

            return(View(playerStatsService.GetPlayerStats()));
        }
        private PlayerStatsService CreatePlayerStatsService()
        {
            var playerService = new PlayerStatsService();

            return(playerService);
        }