public GameSession JoinRandomGameSession(string token) { using (var _db = new ApplicationDbContext()) { var userGameStorage = new UserGameStorage(); var userManager = new UserManager(); var sessionManager = new SessionManager(); var questionManager = new QuestionManager(); var reusableServices = new ReusableServices(); var question = questionManager.RandomizeQuestion(); var gameSessionsList = _db.GameSessions.Where(c => c.isSessionUsed == false).ToList(); var maxSize = gameSessionsList.Count(); var index = reusableServices.GetNumberForRandomization(0, maxSize - 1); var gameSession = gameSessionsList[index]; gameSession = CreateGameSession(question); var session = sessionManager.GetSession(token); var user = userManager.GetUser(session.UId); userGameStorage.UId = user.ID; userGameStorage.GId = gameSession.Id; //var storage = _UserGameStoreManager.CreateUGS(userGameStorage); return(gameSession); } }
public int UpdateUGS(UserGameStorage ugs) { using (var _db = new ApplicationDbContext()) { var respone = _UGSService.UpdateUGS(_db, ugs); return(_db.SaveChanges()); } }
public int CreateUGS(UserGameStorage ugs) { using (var _db = new ApplicationDbContext()) { var response = _UGSService.CreateUGS(_db, ugs); // will return null if ugs does not exist return(_db.SaveChanges()); } }
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)); } }
public UserGameStorage UpdateUGS(ApplicationDbContext _db, UserGameStorage ugs) { _db.Entry(ugs).State = EntityState.Modified; return(ugs); }
public UserGameStorage CreateNewUGS(ApplicationDbContext _db, UserGameStorage ugs) { _db.Entry(ugs).State = EntityState.Added; return(ugs); }
public UserGameStorage UpdateUGS(ApplicationDbContext _db, UserGameStorage userGameStorage) { return(_UGSRepo.UpdateUGS(_db, userGameStorage)); }