public IHttpActionResult CreateChat(string token) { var userManager = new UserManager(); var gameSession = new GameSession(); var sessionManager = new SessionManager(); var questionManager = new QuestionManager(); var question = questionManager.RandomizeQuestion(); try { gameSession = _GameSessionManager.CreateGameSession(question); var session = sessionManager.GetSession(token); var user = userManager.GetUser(session.UId); var host = _GameMan.AssignHost(user.SsoId); var userGameStorage = new UserGameStorage() { UId = user.ID, GId = gameSession.Id }; var storage = _UserGameStoreManager.CreateUGS(userGameStorage); var gameSessionDTO = new GameSessionDTO() { Token = gameSession.Token, Question = questionManager.GetQuestion(gameSession.QuestionID).QuestionString, IsSessionUsed = gameSession.isSessionUsed, PlayerCount = gameSession.PlayerCount, GameRole = user.Role, Order = userGameStorage.Order }; return(Ok(gameSessionDTO)); } catch (ArgumentException) { return(Conflict()); } catch (Exception e) { return(Content(HttpStatusCode.BadRequest, e.ToString() + question.QuestionString)); } }