public IActionResult RollDice(int gameId) { var viewModel = new LudoViewModel(); //hämtar ett värde ifrån api tärningen var client = new RestClient("http://localhost:52858/api"); //LOCALHOST PÅ VÅRT API NÄR VI STARTAT UPP DET!!! var request = new RestRequest("ludo/{gameId}", Method.PUT); request.AddUrlSegment("gameId", gameId); // replaces matching token in request.Resource IRestResponse <PutGame> ludoGameResponse = client.Execute <PutGame>(request); //kontrollerar om ett fel skickats från API:et if (ludoGameResponse.StatusCode != System.Net.HttpStatusCode.OK) { //Modelstate är en mvc model //validerings summary visas på skärmen ModelState.AddModelError("", ludoGameResponse.Content.Replace("\"", "")); } else { viewModel.Dice = ludoGameResponse.Data.diece; } var x = GetSpeficifGameFromAPi(gameId); viewModel.CurrentGame = x; //"Index" för att få samma utseende som index metoden return(View("Index", viewModel)); }
public IActionResult Index() { logger.LogInformation(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> get all games"); /* test för utskrift * SpecificGame result = new SpecificGame() * { * currentPlayer = new Player() * { * Name = "test" * } * };*/ //skapar en viewModel var viewModel = new LudoViewModel(); //få alla spel som ett objekt och inte int IEnumerable <int> allGameIds = GetGamesFromAPI(); //skapa en tom lista för alla spel viewModel.AllGames = new List <Game>(); //hämtar alla spel ifrån API foreach (var gameId in allGameIds) { viewModel.AllGames.Add(GetSpeficifGameFromAPi(gameId)); } //för att de ska få en ickeexisterande färg, drop down alltid tom viewModel.ColorPlayer1 = -1; viewModel.ColorPlayer2 = -1; viewModel.ColorPlayer3 = -1; viewModel.ColorPlayer4 = -1; //en klass som skicka in i view return(View(viewModel)); }
public IActionResult CreateNewGame(LudoViewModel viewModel) { //var client = new RestClient("http://localhost:52858/api"); //var request = new RestRequest("ludo/", Method.POST); //request.AddJsonBody();//lägg till det som är i creategae så man kan skapa spel List <Player> players = new List <Player>(); if (viewModel.ColorPlayer1 != -1) { players.Add(new Player() { PlayerColor = viewModel.ColorPlayer1 }); } if (viewModel.ColorPlayer2 != -1) { players.Add(new Player() { PlayerColor = viewModel.ColorPlayer2 }); } if (viewModel.ColorPlayer3 != -1) { players.Add(new Player() { PlayerColor = viewModel.ColorPlayer3 }); } if (viewModel.ColorPlayer4 != -1) { players.Add(new Player() { PlayerColor = viewModel.ColorPlayer4 }); } //här sker det när AddPlayerToGame fångar fel try { //skapa spelet i api int gameId = CreateGameUsingApi(); //lägg till spelare foreach (var player in players) { AddPlayerToGame(gameId, player.PlayerColor); } //hämtar spelet ifrån api viewModel.CurrentGame = GetSpeficifGameFromAPi(gameId); } catch (Exception ex) { //AddModelError = en metod som lägger till ett specefik fel i fel listan. //ModelState = en klass i MVC ramverket. som använder AddModelError metoden. //tar medelande och tar bort "". ModelState.AddModelError("", ex.Message.Replace("\"", "")); } //"Index" för att få samma utseende som index metoden return(View("Index", viewModel)); }