diff --git a/DigitalData.EmailProfilerDispatcher.Abstraction/DTOs/EmailOut/EmailOutDto.cs b/DigitalData.EmailProfilerDispatcher.Abstraction/DTOs/EmailOut/EmailOutDto.cs index 0fd9730..09250c6 100644 --- a/DigitalData.EmailProfilerDispatcher.Abstraction/DTOs/EmailOut/EmailOutDto.cs +++ b/DigitalData.EmailProfilerDispatcher.Abstraction/DTOs/EmailOut/EmailOutDto.cs @@ -1,4 +1,6 @@ -namespace DigitalData.EmailProfilerDispatcher.Abstraction.DTOs.EmailOut +using DigitalData.Core.Abstractions; + +namespace DigitalData.EmailProfilerDispatcher.Abstraction.DTOs.EmailOut { public record EmailOutDto( int Id, @@ -21,5 +23,5 @@ DateTime? ChangedWhen, DateTime? ErrorTimestamp, string? ErrorMsg - ); + ) : IUnique; } \ No newline at end of file diff --git a/DigitalData.EmailProfilerDispatcher.Abstraction/DigitalData.EmailProfilerDispatcher.Abstraction.csproj b/DigitalData.EmailProfilerDispatcher.Abstraction/DigitalData.EmailProfilerDispatcher.Abstraction.csproj index a1c82a9..1c03628 100644 --- a/DigitalData.EmailProfilerDispatcher.Abstraction/DigitalData.EmailProfilerDispatcher.Abstraction.csproj +++ b/DigitalData.EmailProfilerDispatcher.Abstraction/DigitalData.EmailProfilerDispatcher.Abstraction.csproj @@ -15,7 +15,7 @@ - + diff --git a/DigitalData.EmailProfilerDispatcher.Abstraction/Entities/EmailOut.cs b/DigitalData.EmailProfilerDispatcher.Abstraction/Entities/EmailOut.cs index 2edfb04..90de1e6 100644 --- a/DigitalData.EmailProfilerDispatcher.Abstraction/Entities/EmailOut.cs +++ b/DigitalData.EmailProfilerDispatcher.Abstraction/Entities/EmailOut.cs @@ -1,11 +1,12 @@ -using System.ComponentModel; +using DigitalData.Core.Abstractions; +using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -namespace DigitalData.EmailProfilerDispatcher.Abstraction.Entities +namespace DigitalData.EmailProfilerDispatcher.Abstraction.Entities { [Table("TBEMLP_EMAIL_OUT")] - public class EmailOut + public class EmailOut : IUnique { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] diff --git a/DigitalData.EmailProfilerDispatcher/DIExtensions.cs b/DigitalData.EmailProfilerDispatcher/DIExtensions.cs index b2f1463..b263af6 100644 --- a/DigitalData.EmailProfilerDispatcher/DIExtensions.cs +++ b/DigitalData.EmailProfilerDispatcher/DIExtensions.cs @@ -8,7 +8,8 @@ namespace DigitalData.EmailProfilerDispatcher { public static class DIExtensions { - public static IServiceCollection AddDispatcher(this IServiceCollection services) where TDbContext : DbContext => services + public static IServiceCollection AddDispatcher(this IServiceCollection services) where TDbContext : DbContext, IMailDbContext + => services .AddScoped>() .AddAutoMapper(typeof(MappingProfile).Assembly) .AddScoped(); diff --git a/DigitalData.EmailProfilerDispatcher/DefaultMailDbContext.cs b/DigitalData.EmailProfilerDispatcher/DefaultMailDbContext.cs index 55aab07..5f81c4d 100644 --- a/DigitalData.EmailProfilerDispatcher/DefaultMailDbContext.cs +++ b/DigitalData.EmailProfilerDispatcher/DefaultMailDbContext.cs @@ -3,10 +3,10 @@ using Microsoft.EntityFrameworkCore; namespace DigitalData.EmailProfilerDispatcher { - public class DefaultMailDbContext : DbContext + public class DefaultMailDbContext : DbContext, IMailDbContext { public DbSet EMailOuts { get; set; } - + public DefaultMailDbContext(DbContextOptions options) : base(options) { } diff --git a/DigitalData.EmailProfilerDispatcher/DigitalData.EmailProfilerDispatcher.csproj b/DigitalData.EmailProfilerDispatcher/DigitalData.EmailProfilerDispatcher.csproj index cb51583..34d76cb 100644 --- a/DigitalData.EmailProfilerDispatcher/DigitalData.EmailProfilerDispatcher.csproj +++ b/DigitalData.EmailProfilerDispatcher/DigitalData.EmailProfilerDispatcher.csproj @@ -17,14 +17,13 @@ - - - + + + - diff --git a/DigitalData.EmailProfilerDispatcher/IMailDbContext.cs b/DigitalData.EmailProfilerDispatcher/IMailDbContext.cs new file mode 100644 index 0000000..4683642 --- /dev/null +++ b/DigitalData.EmailProfilerDispatcher/IMailDbContext.cs @@ -0,0 +1,10 @@ +using DigitalData.EmailProfilerDispatcher.Abstraction.Entities; +using Microsoft.EntityFrameworkCore; + +namespace DigitalData.EmailProfilerDispatcher +{ + public interface IMailDbContext + { + public DbSet EMailOuts { get; } + } +} \ No newline at end of file diff --git a/DigitalData.EmailProfilerDispatcher/Repositories/EmailOutRepository.cs b/DigitalData.EmailProfilerDispatcher/Repositories/EmailOutRepository.cs index f213f2b..29c8457 100644 --- a/DigitalData.EmailProfilerDispatcher/Repositories/EmailOutRepository.cs +++ b/DigitalData.EmailProfilerDispatcher/Repositories/EmailOutRepository.cs @@ -6,9 +6,9 @@ using Microsoft.EntityFrameworkCore; namespace DigitalData.EmailProfilerDispatcher.Repositories { public class EmailOutRepository : CRUDRepository, IEmailOutRepository - where TDbContext : DbContext + where TDbContext : DbContext, IMailDbContext { - public EmailOutRepository(TDbContext dbContext) : base(dbContext) + public EmailOutRepository(TDbContext dbContext) : base(dbContext, dbContext.EMailOuts) { } }