private Models.BaseResponse ValidateInput(Models.NewGameParam game) { if (string.IsNullOrEmpty(game.PlayerName)) { return(new Models.BaseResponse { ResponseId = 1, ResponseMessage = "Invalid Player Name" }); } return(new Models.BaseResponse { ResponseId = 0, ResponseMessage = "OK" }); }
public void CreateNewGame(Models.NewGameParam game, int codeLength, string availableColors, string gameHash, string secret) { using (var sqLiteConnection = new SQLiteConnection(connectionString)) { sqLiteConnection.Open(); StringBuilder sql = new StringBuilder(); sql.Append("insert into mm_games(player_name,creation_date,code_length,available_colors,game_hash, secret) "); sql.AppendFormat("values('{0}', datetime('now','localtime'), {1}, '{2}', '{3}', '{4}');", game.PlayerName, codeLength, availableColors, gameHash, secret); using (var command = new SQLiteCommand(sql.ToString(), sqLiteConnection)) { command.ExecuteNonQuery(); } } }
public Models.NewGameResponse StartNewGame(Models.NewGameParam game) { var validation = ValidateInput(game); if (validation.ResponseId == 0) { var codeLenght = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings.Get("codeLength")); var availableColors = System.Configuration.ConfigurationManager.AppSettings.Get("availableColors"); var sBuilder = new StringBuilder(); sBuilder.AppendFormat("{0}{1}{2}{3}", game.PlayerName, codeLenght, availableColors, DateTime.Now.Ticks); var gameHash = Helpers.Md5Helper.GetMD5(sBuilder.ToString()); var secret = GenerateSecret(codeLenght, availableColors.ToCharArray()); var newGameDAO = new DAO.NewGameDAO(); newGameDAO.CreateNewGame(game, codeLenght, availableColors, gameHash, secret); return(new Models.NewGameResponse { PlayerName = game.PlayerName, CodeLength = codeLenght, AvailableColors = availableColors.ToCharArray(), GameId = gameHash, ResponseId = validation.ResponseId, ResponseMessage = validation.ResponseMessage }); } else { return(new Models.NewGameResponse { ResponseId = validation.ResponseId, ResponseMessage = validation.ResponseMessage }); }; }
public Models.NewGameResponse Post([FromBody] Models.NewGameParam value) { var response = newGameService.StartNewGame(value); return(response); }