public JsonResult NewGame(int gameDefId, NewGameModel newGameModel) { if (Platform.IsUserLogged()) { newGameModel.Nick = User.Identity.Name; } try { newGameModel.Validate(); Game = Platform.NewGameInstance(Platform.GetGameDefinitionById(gameDefId), newGameModel.Name, newGameModel.Password); int playerId = Game.AddPlayer(new Player(newGameModel.Nick, Permission.TYPE.Moderator)); SaveGame(Game.Id); Platform.GameAuthentication.AddPermission(Game.Id, playerId, newGameModel.Nick, Crypto.HashPassword(newGameModel.Password), Permission.TYPE.Moderator); return(Json(new Result(new { gameId = Game.Id }).AsSuccess())); } catch (Error.ValidationException validation) { return(Json(validation.Result)); } }