public async Task <Game> DeleteAsync(Game game) { if (!TokenVerifier.VerifyJWTToken(game.Token, game.Author)) { var body = await FindOneAsync(game.Id); using var cmd = Db.Connection.CreateCommand(); cmd.CommandText = Statement.DeleteAsync; BindId(cmd, game.Id); await cmd.ExecuteNonQueryAsync(); return(body); } return(null); }
public async Task <Game> UpdateAsync(int id, Game game) { var result = new List <Game>(); if (!TokenVerifier.VerifyJWTToken(game.Token, game.Author)) { await Db.Connection.OpenAsync(); using var cmd = Db.Connection.CreateCommand(); cmd.CommandText = Statement.UpdateAsync; BindParams(cmd, game.InitialState); BindId(cmd, id); result = await ReadAllAsync(await cmd.ExecuteReaderAsync()); } return(result.Count > 0 ? result[0] : null); }
public async Task <Game> InsertAsync(Game game) { if (!TokenVerifier.VerifyJWTToken(game.Token, game.Author)) { await Db.Connection.OpenAsync(); using var cmd = Db.Connection.CreateCommand(); cmd.CommandText = Statement.InsertAsync; BindParams(cmd, game.Author, game.InitialState); await cmd.ExecuteNonQueryAsync(); game.Id = (int)cmd.LastInsertedId; return(game); } return(null); }