From 2c886d22ad806a13bd09ff63b0a62f88989f9c9f Mon Sep 17 00:00:00 2001 From: James Tombleson Date: Fri, 23 Jun 2023 21:56:15 -0700 Subject: [PATCH] Icons updated with ef --- .../Repositories/IconsTable.cs | 37 ++++++++----------- .../Interfaces/IIconsRepository.cs | 8 ++-- 2 files changed, 19 insertions(+), 26 deletions(-) diff --git a/Newsbot.Collector.Database/Repositories/IconsTable.cs b/Newsbot.Collector.Database/Repositories/IconsTable.cs index 3a12682..1ef0c42 100644 --- a/Newsbot.Collector.Database/Repositories/IconsTable.cs +++ b/Newsbot.Collector.Database/Repositories/IconsTable.cs @@ -1,6 +1,7 @@ using System.Data; using Dapper; using Microsoft.Extensions.Configuration; +using Newsbot.Collector.Domain.Entities; using Newsbot.Collector.Domain.Interfaces; using Newsbot.Collector.Domain.Models; using Npgsql; @@ -23,37 +24,29 @@ public class IconsTable : IIconsRepository _connectionString = connstr; } - public void New(IconModel model) + public void New(IconEntity model) { + using var context = new DatabaseContext(_connectionString); model.Id = Guid.NewGuid(); - using var conn = OpenConnection(_connectionString); - var q = @"Insert Into icons (id, filename, site, sourceid) values (@Id,@FileName, @Site, @SourceId)"; - conn.Execute(q, model); + context.Icons.Add(model); + context.SaveChanges(); } - public IconModel GetById(Guid id) + public IconEntity GetById(Guid id) { - using var conn = OpenConnection(_connectionString); - var query = "Select * From icons where ID = @id Limit 1;"; - var res = conn.Query(query, new - { - id - }); - if (!res.Any()) return new IconModel(); - return res.First(); + using var context = new DatabaseContext(_connectionString); + var res = context.Icons.FirstOrDefault(f => f.Id.Equals(id)); + res ??= new IconEntity(); + return res; } - public IconModel GetBySourceId(Guid id) + public IconEntity GetBySourceId(Guid id) { - using var conn = OpenConnection(_connectionString); - var query = "Select * From icons where sourceid = @id Limit 1;"; - var res = conn.Query(query, new - { - id - }); - if (!res.Any()) return new IconModel(); - return res.First(); + using var context = new DatabaseContext(_connectionString); + var res = context.Icons.FirstOrDefault(f => f.SourceId.Equals(id)); + res ??= new IconEntity(); + return res; } private IDbConnection OpenConnection(string connectionString) diff --git a/Newsbot.Collector.Domain/Interfaces/IIconsRepository.cs b/Newsbot.Collector.Domain/Interfaces/IIconsRepository.cs index c502f48..750048b 100644 --- a/Newsbot.Collector.Domain/Interfaces/IIconsRepository.cs +++ b/Newsbot.Collector.Domain/Interfaces/IIconsRepository.cs @@ -1,11 +1,11 @@ -using Newsbot.Collector.Domain.Models; +using Newsbot.Collector.Domain.Entities; namespace Newsbot.Collector.Domain.Interfaces; public interface IIconsRepository { - public void New(IconModel model); + public void New(IconEntity model); - public IconModel GetById(Guid id); - public IconModel GetBySourceId(Guid id); + public IconEntity GetById(Guid id); + public IconEntity GetBySourceId(Guid id); } \ No newline at end of file