コード例 #1
0
        public IActionResult Index([FromBody] GameLeaveRequest request, string appId)
        {
            if (!IsValid(request, out string message))
            {
                var errorResponse = new ErrorResponse {
                    Message = message
                };
                _logger.LogError($"{Request.GetUri()} - {JsonConvert.SerializeObject(errorResponse)}");
                return(BadRequest(errorResponse));
            }

            if (request.IsInactive)
            {
                if (request.ActorNr > 0)
                {
                    _dataAccess.GameInsert(appId, request.UserId, request.GameId, request.ActorNr);
                }
            }
            else
            {
                _dataAccess.GameDelete(appId, request.UserId, request.GameId);
            }

            var okResponse = new OkResponse();

            _logger.LogInformation($"{Request.GetUri()} - {JsonConvert.SerializeObject(okResponse)}");
            return(Ok(okResponse));
        }
コード例 #2
0
        public dynamic Post(GameLeaveRequest request, string appId)
        {
            if (log.IsDebugEnabled) log.DebugFormat("{0} - {1}", Request.RequestUri, JsonConvert.SerializeObject(request));

            string message;
            if (!IsValid(request, out message))
            {
                var errorResponse = new ErrorResponse { Message = message };
                if (log.IsDebugEnabled) log.Debug(JsonConvert.SerializeObject(errorResponse));
                return errorResponse;
            }

            if (request.IsInactive)
            {
                if (request.ActorNr > 0)
                {
                    WebApiApplication.DataAccess.GameInsert(appId, request.UserId, request.GameId, request.ActorNr);
                }
            }
            else
            {
                WebApiApplication.DataAccess.GameDelete(appId, request.UserId, request.GameId);
            }

            var okResponse = new OkResponse();
            if (log.IsDebugEnabled) log.Debug(JsonConvert.SerializeObject(okResponse));
            return okResponse;
        }
コード例 #3
0
        public IActionResult Index([FromBody] GameLeaveRequest request, string appId)
        {
            var response = new OkResponse();

            _logger.LogInformation($"{Request.GetUri()} - {JsonConvert.SerializeObject(response)}");
            return(Ok(response));
        }
コード例 #4
0
        private static bool IsValid(GameLeaveRequest request, out string message)
        {
            if (request == null)
            {
                message = "Received request does not contain expected JSON data.";
                return(false);
            }

            if (string.IsNullOrWhiteSpace(request.GameId))
            {
                message = "Missing \"GameId\" parameter.";
                return(false);
            }

            if (string.IsNullOrWhiteSpace(request.UserId))
            {
                message = "Missing \"UserId\" parameter.";
                return(false);
            }

            if (request.ActorNr <= 0)
            {
                message = $"Unexpected \"ActorNr\" value: {request.ActorNr}.";
                return(false);
            }

            message = string.Empty;
            return(true);
        }
コード例 #5
0
        public IActionResult Index([FromBody] GameLeaveRequest request, string appId)
        {
            if (!IsValid(request, out string message))
            {
                var errorResponse = new ErrorResponse {
                    Message = message
                };
                _logger.LogError($"{Request.GetUri()} - {JsonConvert.SerializeObject(errorResponse)}");
                return(Ok(errorResponse));
            }

            appId = appId.ToLowerInvariant();

            // TODO: update this check and maybe move game insertion to GameJoin controller
            if (request.IsInactive)
            {
                _dataAccess.GameInsert(appId, request.UserId, request.GameId, request.ActorNr);
            }
            else
            {
                _dataAccess.GameDelete(appId, request.UserId, request.GameId);
            }

            var okResponse = new OkResponse();

            _logger.LogInformation($"{Request.GetUri()} - {JsonConvert.SerializeObject(okResponse)}");
            return(Ok(okResponse));
        }
コード例 #6
0
        public dynamic Post(GameLeaveRequest request, string appId)
        {
            if (log.IsDebugEnabled) log.DebugFormat("{0} - {1}", Request.RequestUri, JsonConvert.SerializeObject(request));

            var response = new OkResponse();
            if (log.IsDebugEnabled) log.Debug(JsonConvert.SerializeObject(response));
            return response;
        }
コード例 #7
0
        public dynamic Post(GameLeaveRequest request, string appId)
        {
            if (log.IsDebugEnabled)
            {
                log.DebugFormat("{0} - {1}", Request.RequestUri, request == null ? "null" : JsonConvert.SerializeObject(request));
            }

            var response = new OkResponse();

            if (log.IsDebugEnabled)
            {
                log.Debug(JsonConvert.SerializeObject(response));
            }
            return(response);
        }
コード例 #8
0
        private static bool IsValid(GameLeaveRequest request, out string message)
        {
            if (string.IsNullOrEmpty(request.GameId))
            {
                message = "Missing GameId.";
                return(false);
            }

            if (string.IsNullOrEmpty(request.UserId))
            {
                message = "Missing UserId.";
                return(false);
            }

            message = "";
            return(true);
        }
コード例 #9
0
        private static bool IsValid(GameLeaveRequest request, out string message)
        {
            if (string.IsNullOrEmpty(request.GameId))
            {
                message = "Missing GameId.";
                return false;
            }

            if (string.IsNullOrEmpty(request.UserId))
            {
                message = "Missing UserId.";
                return false;
            }

            message = "";
            return true;
        }
コード例 #10
0
        public dynamic Post(GameLeaveRequest request, string appId)
        {
            appId = appId.ToLowerInvariant();

            string message;

            if (!IsValid(request, out message))
            {
                var errorResponse = new ErrorResponse {
                    Message = message
                };
                if (log.IsDebugEnabled)
                {
                    log.Debug(JsonConvert.SerializeObject(errorResponse));
                }
                return(errorResponse);
            }

            if (log.IsDebugEnabled)
            {
                log.DebugFormat("{0} - {1}", Request.RequestUri, JsonConvert.SerializeObject(request));
            }

            if (request.IsInactive)
            {
                if (request.ActorNr > 0)
                {
                    WebApiApplication.DataAccess.GameInsert(appId, request.UserId, request.GameId, request.ActorNr);
                }
            }
            else
            {
                WebApiApplication.DataAccess.GameDelete(appId, request.UserId, request.GameId);
            }

            var okResponse = new OkResponse();

            if (log.IsDebugEnabled)
            {
                log.Debug(JsonConvert.SerializeObject(okResponse));
            }
            return(okResponse);
        }