website/Website/Data/BlogRepository.cs

24 lines
No EOL
659 B
C#

using System.Threading.Tasks;
using System.Linq;
using Dapper;
using Website.Models;
using Website.Data.States;
namespace Website.Data
{
public class BlogRepository
{
private readonly IDatabaseProvider _dbProvider;
public BlogRepository(IDatabaseProvider dbProvider) => _dbProvider = dbProvider;
public async Task<BlogPost> GetPostAsync(int id) {
const string query = "SELECT * FROM blog_posts WHERE post_id=@id AND post_deleted=0";
using (var connection = _dbProvider.NewConnection()) {
connection.Open();
var result = await connection.QueryAsync<BlogPostState>(query, new{id});
return new BlogPost(result.First());
}
}
}
}