//query methods: //get TokeModel from database where token = token public async Task <AuthorizationTokenModel> GetTokenModel(string token) { await Db.Connection.ChangeDataBaseAsync("users"); using (var cmd = Db.Connection.CreateCommand()) { //create SQL query to find rows where token is token cmd.CommandText = "SELECT * FROM authorization_tokens WHERE token = @token"; cmd.Parameters.AddWithValue("@token", token); //if the SQL query returns any rows, return true, false otherwise using (var reader = await cmd.ExecuteReaderAsync()) { if (reader.Read()) { var tokenModel = new AuthorizationTokenModel() { user_id = reader.GetInt32(0), token = reader.GetString(1) }; return(tokenModel); } else { return(null); } } } }
//get all posts in given thread public async Task <List <PostModel> > GetPosts(int tid, AuthorizationTokenModel token, UserModel location) { await Db.Connection.ChangeDataBaseAsync("posts"); using (var cmd = Db.Connection.CreateCommand()) { cmd.CommandText = "SELECT * FROM posts " + "WHERE thread_id = @thread_id"; cmd.Parameters.AddWithValue("@thread_id", tid); using (var reader = await cmd.ExecuteReaderAsync()) { return(await readAllPostsAsync(reader, location)); } } }