Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
 public int UpdateUGS(UserGameStorage ugs)
 {
     using (var _db = new ApplicationDbContext())
     {
         var respone = _UGSService.UpdateUGS(_db, ugs);
         return(_db.SaveChanges());
     }
 }
Esempio n. 3
0
 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());
     }
 }
Esempio n. 4
0
        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));
            }
        }
Esempio n. 5
0
 public UserGameStorage UpdateUGS(ApplicationDbContext _db, UserGameStorage ugs)
 {
     _db.Entry(ugs).State = EntityState.Modified;
     return(ugs);
 }
Esempio n. 6
0
 public UserGameStorage CreateNewUGS(ApplicationDbContext _db, UserGameStorage ugs)
 {
     _db.Entry(ugs).State = EntityState.Added;
     return(ugs);
 }
Esempio n. 7
0
 public UserGameStorage UpdateUGS(ApplicationDbContext _db, UserGameStorage userGameStorage)
 {
     return(_UGSRepo.UpdateUGS(_db, userGameStorage));
 }