public IActionResult Index([FromBody] GameCreateRequest 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(); dynamic response; if ("Load".Equals(request.Type)) { response = GameLoad(request, appId); } else if ("Create".Equals(request.Type)) { response = GameCreate(request, appId); } else { var errorResponse = new ErrorResponse { Message = $"Unexpected \"Type\" parameter value: \"{request.Type}\"." }; _logger.LogError($"{Request.GetUri()} - {JsonConvert.SerializeObject(errorResponse)}"); return(Ok(errorResponse)); } _logger.LogInformation($"{Request.GetUri()} - {JsonConvert.SerializeObject(response)}"); return(Ok(response)); }
public IActionResult Index([FromBody] GameCreateRequest request, [FromHeader] string appId) { if (!IsValid(request, out string message)) { var errorResponse = new ErrorResponse { Message = message }; _logger.LogError($"{Request.GetUri()} - {JsonConvert.SerializeObject(errorResponse)}"); return(BadRequest(errorResponse)); } dynamic response; if (!string.IsNullOrEmpty(request.Type) && request.Type == "Load") { response = GameLoad(request, appId); } else { response = GameCreate(request, appId); } _logger.LogInformation($"{Request.GetUri()} - {JsonConvert.SerializeObject(response)}"); return(Ok(response)); }
public void Execute(GameCreateRequest request) { using (var db = databaseFactory.CreateNew()) { var game = new PogoGamePoke { ChatId = request.ChatId, MessageId = request.MessageId, Difficulty = request.Difficulty, Finish = request.Finish, TargetPokeId = request.Poke1Id, TargetPokeMoveTyp = request.Poke1Move, Choice1PokeId = request.Poke2Id, Choice1PokeMoveTyp = request.Poke2Move, Choice2PokeId = request.Poke3Id, Choice2PokeMoveTyp = request.Poke3Move, Choice3PokeId = request.Poke4Id, Choice3PokeMoveTyp = request.Poke4Move, Choice4PokeId = request.Poke5Id, Choice4PokeMoveTyp = request.Poke5Move }; db.PogoGamePokes.Add(game); db.SaveChanges(); } }
public async Task <ActionResult <Game> > CreateGame([FromBody] GameCreateRequest request) { int.TryParse(((ClaimsIdentity)User.Identity).Claims.FirstOrDefault()?.Value, out int userId); var game = await _gameService.CreateGame(request, userId); return(game); }
private dynamic GameCreate(GameCreateRequest request, string appId) { dynamic response; if (DataAccess.StateExists(appId, request.GameId)) { response = new ErrorResponse { Message = "Game already exists." }; return(response); } if (request.CreateOptions == null) { DataAccess.StateSet(appId, request.GameId, string.Empty); } else { DataAccess.StateSet(appId, request.GameId, (string)JsonConvert.SerializeObject(request.CreateOptions)); } response = new OkResponse(); //_logger.LogInformation($"{Request.GetUri()} - {JsonConvert.SerializeObject(response)}"); return(response); }
public static dynamic GameLoad(GameCreateRequest request, string appId) { dynamic response; string stateJson = string.Empty; stateJson = WebApiApplication.DataAccess.StateGet(appId, request.GameId); if (!string.IsNullOrEmpty(stateJson)) { response = new GameLoadResponse { State = JsonConvert.DeserializeObject(stateJson) }; return response; } //TBD - check how deleteIfEmpty works with createifnot exists if (stateJson == string.Empty) { WebApiApplication.DataAccess.StateDelete(appId, request.GameId); if (log.IsDebugEnabled) { log.DebugFormat("Deleted empty state, app id {0}, gameId {1}", appId, request.GameId); } } if (request.CreateIfNotExists) { response = new OkResponse(); return response; } response = new ErrorResponse { Message = "GameId not Found." }; return response; }
public static dynamic GameLoad(GameCreateRequest request, string appId) { dynamic response; var stateJson = DataAccess.StateGet(appId, request.GameId); if (!string.IsNullOrEmpty(stateJson)) { response = new GameLoadResponse { State = JsonConvert.DeserializeObject(stateJson) }; return(response); } //TBD - check how deleteIfEmpty works with createifnot exists if (stateJson == string.Empty) { DataAccess.StateDelete(appId, request.GameId); //_logger.LogInformation($"Deleted empty state, app id {appId}, gameId {request.GameId}"); } if (request.CreateIfNotExists) { response = new OkResponse(); //_logger.LogInformation($"{Request.GetUri()} - {JsonConvert.SerializeObject(response)}"); return(response); } response = new ErrorResponse { Message = "GameId not Found." }; //_logger.LogError($"{Request.GetUri()} - {JsonConvert.SerializeObject(response)}"); return(response); }
public dynamic Post(GameCreateRequest 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; } dynamic response; if (!string.IsNullOrEmpty(request.Type) && request.Type == "Load") { response = GameLoad(request, appId); } else { response = GameCreate(request, appId); } if (log.IsDebugEnabled) log.Debug(JsonConvert.SerializeObject(response)); return response; }
public dynamic Post(GameCreateRequest 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); } dynamic response = GameCreateController.GameLoad(request, appId); if (log.IsDebugEnabled) { log.Debug(JsonConvert.SerializeObject(response)); } return(response); }
private static bool IsValid(GameCreateRequest 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 (string.IsNullOrWhiteSpace(request.Type)) { message = "Missing \"Type\" parameter."; return(false); } message = string.Empty; return(true); }
public dynamic Post(GameCreateRequest 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; } dynamic response = GameCreateController.GameLoad(request, appId); if (log.IsDebugEnabled) log.Debug(JsonConvert.SerializeObject(response)); return response; }
private static bool IsValid(GameCreateRequest 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); }
private static bool IsValid(GameCreateRequest 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; }
public IActionResult Index([FromBody] GameCreateRequest request, [FromHeader] string appId) { string message; if (!IsValid(request, out message)) { var errorResponse = new ErrorResponse { Message = message }; _logger.LogError($"{Request.GetUri()} - {JsonConvert.SerializeObject(errorResponse)}"); return(BadRequest(errorResponse)); } var response = GameCreateController.GameLoad(request, appId); _logger.LogInformation($"{Request.GetUri()} - {JsonConvert.SerializeObject(response)}"); return(Ok(response)); }
public async Task <Game> CreateGame(GameCreateRequest request, int userId) { var activeCodes = await _gameRepository.GetActiveGamesCodes(); string code = ""; do { code = CodeGenerator.Generate(CodeLength); } while (activeCodes.Contains(code)); var game = new Game { MasterId = userId, Name = request.Name, Code = code }; return(await _gameRepository.AddAsync(game)); }
private static dynamic GameCreate(GameCreateRequest request, string appId) { dynamic response; if (WebApiApplication.DataAccess.StateExists(appId, request.GameId)) { response = new ErrorResponse { Message = "Game already exists." }; return response; } if (request.CreateOptions == null) { WebApiApplication.DataAccess.StateSet(appId, request.GameId, string.Empty); } else { WebApiApplication.DataAccess.StateSet(appId, request.GameId, (string)JsonConvert.SerializeObject(request.CreateOptions)); } response = new OkResponse(); return response; }
public dynamic Post(GameCreateRequest 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)); } dynamic response; if (!string.IsNullOrEmpty(request.Type) && request.Type == "Load") { response = GameLoad(request, appId); } else { response = GameCreate(request, appId); } if (log.IsDebugEnabled) { log.Debug(JsonConvert.SerializeObject(response)); } return(response); }
public static dynamic GameLoad(GameCreateRequest request, string appId) { dynamic response; string stateJson = string.Empty; stateJson = WebApiApplication.DataAccess.StateGet(appId, request.GameId); if (!string.IsNullOrEmpty(stateJson)) { response = new GameLoadResponse { State = JsonConvert.DeserializeObject(stateJson) }; return(response); } //TBD - check how deleteIfEmpty works with createifnot exists if (stateJson == string.Empty) { WebApiApplication.DataAccess.StateDelete(appId, request.GameId); if (log.IsDebugEnabled) { log.DebugFormat("Deleted empty state, app id {0}, gameId {1}", appId, request.GameId); } } if (request.CreateIfNotExists) { response = new OkResponse(); return(response); } response = new ErrorResponse { Message = "GameId not Found." }; return(response); }
private static dynamic GameCreate(GameCreateRequest request, string appId) { dynamic response; if (WebApiApplication.DataAccess.StateExists(appId, request.GameId)) { response = new ErrorResponse { Message = "Game already exists." }; return(response); } if (request.CreateOptions == null) { WebApiApplication.DataAccess.StateSet(appId, request.GameId, string.Empty); } else { WebApiApplication.DataAccess.StateSet(appId, request.GameId, (string)JsonConvert.SerializeObject(request.CreateOptions)); } response = new OkResponse(); return(response); }