//Mamages when a player loads their last save from the database public IActionResult OnLoad() { //Create new instance of GameBusinessService GameDataBusinessService gameDataBusiness = new GameDataBusinessService(); //Use session to grab user int userID = (int)HttpContext.Session.GetInt32("userID"); //Load the game Game gameObject = gameDataBusiness.LoadGame(userID); //Using seralization and object casting convert the boardstring //from the database into a game board object gameBoard = JsonConvert.DeserializeObject <Board>(gameObject.boardString); //Debug Debug.WriteLine(JsonConvert.DeserializeObject <Board>(gameObject.boardString)); //Create game view model GameBoardViewModel game = new GameBoardViewModel(); game.GameBoard = gameBoard; game.UserName = userName; game.EndGame = gameStatus; game.Mine = gameBoard.GrabCellFromGrid(1); game.numOfClick = gameObject.numOfClicks; game.loadedSeconds = gameObject.seconds; //Debug the seconds Debug.WriteLine(game.loadedSeconds); return(PartialView("InProgressGame", game)); }
/// <summary> /// Loads one save using gameStateID /// </summary> /// <param name="gameStateID"></param> /// <returns></returns> public IActionResult LoadOneGame(int gameStateID) { ///Create new instance of GameBusinessService GameDataBusinessService gameDataBusiness = new GameDataBusinessService(); //Use session to grab user //If the session is not empty - user logged in if (!string.IsNullOrEmpty(HttpContext.Session.GetString("username"))) { //Grab their username userName = HttpContext.Session.GetString("username"); } //Load the game Game gameObject = gameDataBusiness.LoadOneGame(Convert.ToInt32(gameStateID)); //Using seralization and object casting convert the boardstring //from the database into a game board object gameBoard = JsonConvert.DeserializeObject <Board>(gameObject.boardString); //Create game view model GameBoardViewModel game = new GameBoardViewModel(); game.GameBoard = gameBoard; game.UserName = userName; game.EndGame = gameStatus; game.Mine = gameBoard.GrabCellFromGrid(1); game.numOfClick = gameObject.numOfClicks; game.loadedSeconds = gameObject.seconds; return(View("LoadedGame", game)); }
//Manages when player saves game public IActionResult OnSave(int seconds) { //Using JSON object seralization - turn our gameboard into a string for database string gameString = JsonConvert.SerializeObject(gameBoard); //Create new instance of GameBusinessService GameDataBusinessService gameBusiness = new GameDataBusinessService(); //Use session to grab user int userID = (int)HttpContext.Session.GetInt32("userID"); //Make an instance of Game data object Game gameDataObj = new(gameString, seconds, clicks, userID); //Save game bool success = gameBusiness.SaveGame(gameDataObj); //Create game board view model GameBoardViewModel game = new GameBoardViewModel(gameBoard, gameBoard.GrabCellFromGrid(1)); game.UserName = userName; game.EndGame = gameStatus; game.numOfClick = clicks; return(PartialView("InProgressGame", game)); }
public IActionResult Index() { GameDataBusinessService gameData = new GameDataBusinessService(); //Grab userID from session int userID = (int)HttpContext.Session.GetInt32("userID"); return(View(gameData.AllGamesForUser(userID))); }
public IActionResult Delete(int gameStateID) { GameDataBusinessService gameData = new GameDataBusinessService(); gameData.DeleteSave(gameStateID); int userID = (int)HttpContext.Session.GetInt32("userID"); return(View("Index", gameData.AllGamesForUser(userID))); }