diff --git a/Website.Tests/Website.Tests.csproj b/Website.Tests/Website.Tests.csproj index b1ce1be..5b7e8ff 100644 --- a/Website.Tests/Website.Tests.csproj +++ b/Website.Tests/Website.Tests.csproj @@ -11,7 +11,9 @@ runtime; build; native; contentfiles; analyzers; buildtransitive all + + diff --git a/Website/Controllers/BlogController.cs b/Website/Controllers/BlogController.cs index 95d9464..879628b 100644 --- a/Website/Controllers/BlogController.cs +++ b/Website/Controllers/BlogController.cs @@ -25,7 +25,7 @@ namespace Website.Controllers public async Task View(int id) { - var post = await _repo.GetPost(id); + var post = await _repo.GetPostAsync(id); return View(post); } } diff --git a/Website/Data/BlogRepository.cs b/Website/Data/BlogRepository.cs index 814a12e..b186b82 100644 --- a/Website/Data/BlogRepository.cs +++ b/Website/Data/BlogRepository.cs @@ -1,4 +1,6 @@ using System.Threading.Tasks; +using System.Linq; +using Dapper; using Website.Models; namespace Website.Data @@ -9,6 +11,13 @@ namespace Website.Data public BlogRepository(DatabaseProvider dbProvider) => _dbProvider = dbProvider; - public Task GetPost(int id) => Task.Run(() => new BlogPost{Id=id}); + public async Task GetPostAsync(int id) { + const string query = "SELECT * FROM blog_posts WHERE post_id=@id"; + using (var connection = _dbProvider.NewConnection()) { + connection.Open(); + var result = await connection.QueryAsync(query, new{id}); + return result.FirstOrDefault(); + } + } } } \ No newline at end of file diff --git a/Website/Data/DatabaseProvider.cs b/Website/Data/DatabaseProvider.cs index a56a495..bfb9418 100644 --- a/Website/Data/DatabaseProvider.cs +++ b/Website/Data/DatabaseProvider.cs @@ -1,6 +1,6 @@ using System.Data; -using System.Data.SqlClient; using Microsoft.Extensions.Configuration; +using MySql.Data.MySqlClient; namespace Website.Data { @@ -8,10 +8,10 @@ namespace Website.Data { private readonly string _connectionString; - public DatabaseProvider(IConfiguration config) => _connectionString = config["connectionString"]; + public DatabaseProvider(IConfiguration config) => _connectionString = config.GetConnectionString("database"); public DatabaseProvider(string connectionString) => _connectionString = connectionString; - public IDbConnection NewConnection() => new SqlConnection(_connectionString); + public IDbConnection NewConnection() => new MySqlConnection(_connectionString); } } \ No newline at end of file diff --git a/Website/Models/BlogPost.cs b/Website/Models/BlogPost.cs index 12d3ab3..967d85a 100644 --- a/Website/Models/BlogPost.cs +++ b/Website/Models/BlogPost.cs @@ -2,6 +2,8 @@ namespace Website.Models { public class BlogPost { - public int Id { get; internal set; } + public int PostId { get; set; } + public string PostTitle { get; set; } + public string Post_Title { get; set; } } } \ No newline at end of file diff --git a/Website/Views/Blog/View.cshtml b/Website/Views/Blog/View.cshtml index a75b596..567204e 100644 --- a/Website/Views/Blog/View.cshtml +++ b/Website/Views/Blog/View.cshtml @@ -5,4 +5,4 @@ ViewData["Title"] = "Blog"; } -@Model.Id \ No newline at end of file +@Model.PostTitle \ No newline at end of file