public IActionResult Move(string token, [FromBody] Coordinate coordinate) { var spelOrError = GetGameOrError(token); if (!(spelOrError is Spel)) { return((IActionResult)spelOrError); } Spel spel = (Spel)spelOrError; string decodedToken = Base64UrlEncoder.Decode(token); bool isPlayer1 = spel.Speler1Token == decodedToken; bool isTurn = (spel.Speler1Beurt && isPlayer1) || (!spel.Speler1Beurt && !isPlayer1); if (!isTurn) { return(StatusCode(401, "Not your turn.")); } if (!spel.Afgelopen()) { spel.DoeZet(coordinate.X, coordinate.Y); } _spelService.UpdateSpel(spel); return(Ok()); }