Пример #1
0
        public IActionResult Continue()
        {
            var sessionCookieData =
                Request.Cookies.Get <SessionCookieData>(Strings.SessionDataCookieName, _dataProtectionProvider);

            if (sessionCookieData != null)
            {
                var gameSession = _gameSessionRepository.GetById(sessionCookieData.Id);
                if (gameSession.State == GameState.Passed || gameSession.State == GameState.Stopped)
                {
                    return(BadRequest(new ErrorResponse(3, "Already passed or stopped this game session.")));
                }
                gameSession.State = GameState.Continued;
                _gameSessionRepository.Update(gameSession);
                sessionCookieData.GameState = GameState.Continued;
                Response.Cookies.Set(Strings.SessionDataCookieName, sessionCookieData, _dataProtectionProvider);
            }

            return(Ok());
        }
Пример #2
0
        private async Task <GameSession> GetById(long id)
        {
            GameSession session = await _sessionRepository.GetById(id);

            return(session);
        }