Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }