diff --git a/DataAccess/DataAccess.cs b/DataAccess/DataAccess.cs index d8cef63..21c56bd 100644 --- a/DataAccess/DataAccess.cs +++ b/DataAccess/DataAccess.cs @@ -21,10 +21,9 @@ public class DataAccess: IDataAccess, IDisposable connection.Open(); } - public IEnumerable? GetUser(int id) + public User? GetUser(int id) { - var users = GetFromCache("select * from users"); - return users?.Where(u => id == u.Id); + return GetFromCache("select * from dbo\"users\"")?.FirstOrDefault(); } protected virtual void Dispose(bool disposing) @@ -45,6 +44,7 @@ public class DataAccess: IDataAccess, IDisposable private IEnumerable GetFromDb(string sql) { + // TODO(Eero): Add params. return connection.Query(sql); } @@ -61,4 +61,9 @@ public class DataAccess: IDataAccess, IDisposable cache.Set(cacheKey, entities); return entities; } + + public IEnumerable? GetItems() + { + return GetFromCache("select * from dbo.\"Items\";"); + } } diff --git a/DataAccess/Entities/Item.cs b/DataAccess/Entities/Item.cs new file mode 100644 index 0000000..d5187cf --- /dev/null +++ b/DataAccess/Entities/Item.cs @@ -0,0 +1,15 @@ +namespace WretchedMachines.DataAccess.Entities; + +public class Item : IEquatable +{ + public required string Name { get; set; } + public int Id { get; set; } + public double Price { get; set; } + + public bool Equals(Item? other) + { + if(Object.ReferenceEquals(other, null)) return false; + if(Object.ReferenceEquals(this, other)) return true; + return Name.Equals(other.Name); + } +} \ No newline at end of file diff --git a/DataAccess/Entities/User.cs b/DataAccess/Entities/User.cs index dfef7a6..8ca1025 100644 --- a/DataAccess/Entities/User.cs +++ b/DataAccess/Entities/User.cs @@ -3,6 +3,11 @@ namespace WretchedMachines.DataAccess.Entities; public class User : IEquatable { public required string Name { get; set; } + public required string Username { get; set; } + public required string Password { get; set; } + public required string Email { get; set; } + public int Role { get; set; } + public DateTime Created { get; set; } public int Id { get; set; } public bool Equals(User? other) diff --git a/DataAccess/IDataAccess.cs b/DataAccess/IDataAccess.cs index 7bd54ec..418c5d6 100644 --- a/DataAccess/IDataAccess.cs +++ b/DataAccess/IDataAccess.cs @@ -4,5 +4,6 @@ namespace WretchedMachines.DataAccess; public interface IDataAccess { - public IEnumerable? GetUser(int id); + public User? GetUser(int id); + public IEnumerable? GetItems(); } \ No newline at end of file diff --git a/WretchedMachines/Pages/Privacy.cshtml.cs b/WretchedMachines/Pages/Privacy.cshtml.cs index c961dea..1302b1e 100644 --- a/WretchedMachines/Pages/Privacy.cshtml.cs +++ b/WretchedMachines/Pages/Privacy.cshtml.cs @@ -1,21 +1,24 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Serilog; +using WretchedMachines.DataAccess; +using WretchedMachines.DataAccess.Entities; namespace WretchedMachines.Pages; public class PrivacyModel : PageModel { - private readonly ILogger _logger; + private readonly IDataAccess dataAccess; - public PrivacyModel(ILogger logger) + public PrivacyModel(IDataAccess dataAccess) { - _logger = logger; + this.dataAccess = dataAccess; } public void OnGet() { - Log.Information("Test"); + var item = dataAccess.GetItems()?.FirstOrDefault(); + Log.Information(item?.Name!); } } diff --git a/WretchedMachines/Pages/Shared/_Layout.cshtml.css b/WretchedMachines/Pages/Shared/_Layout.cshtml.css index 6cd7f80..c187c02 100644 --- a/WretchedMachines/Pages/Shared/_Layout.cshtml.css +++ b/WretchedMachines/Pages/Shared/_Layout.cshtml.css @@ -18,7 +18,7 @@ a { } .nav-pills .nav-link.active, .nav-pills .show > .nav-link { - color: #802e2e; + color: #fff; background-color: #1b6ec2; border-color: #1861ac; }