refactor(EGDbContext): split to regions
This commit is contained in:
parent
beada59593
commit
442b7f7451
@ -90,6 +90,7 @@ public class EGDbContext : DbContext, IUserManagerDbContext, IMailDbContext
|
|||||||
{
|
{
|
||||||
modelBuilder.Entity<Config>().HasNoKey();
|
modelBuilder.Entity<Config>().HasNoKey();
|
||||||
|
|
||||||
|
#region EnvelopeReceiver
|
||||||
modelBuilder.Entity<EnvelopeReceiver>()
|
modelBuilder.Entity<EnvelopeReceiver>()
|
||||||
.HasKey(er => new { er.EnvelopeId, er.ReceiverId });
|
.HasKey(er => new { er.EnvelopeId, er.ReceiverId });
|
||||||
|
|
||||||
@ -102,25 +103,13 @@ public class EGDbContext : DbContext, IUserManagerDbContext, IMailDbContext
|
|||||||
.HasOne(er => er.Receiver)
|
.HasOne(er => er.Receiver)
|
||||||
.WithMany(r => r.EnvelopeReceivers)
|
.WithMany(r => r.EnvelopeReceivers)
|
||||||
.HasForeignKey(er => er.ReceiverId);
|
.HasForeignKey(er => er.ReceiverId);
|
||||||
|
#endregion EnvelopeReceiver
|
||||||
|
|
||||||
modelBuilder.Entity<EnvelopeDocument>();
|
#region Envelope
|
||||||
modelBuilder.Entity<DocumentReceiverElement>();
|
|
||||||
modelBuilder.Entity<DocumentStatus>();
|
|
||||||
modelBuilder.Entity<EmailTemplate>();
|
|
||||||
modelBuilder.Entity<Envelope>()
|
modelBuilder.Entity<Envelope>()
|
||||||
.HasIndex(e => e.Uuid)
|
.HasIndex(e => e.Uuid)
|
||||||
.IsUnique();
|
.IsUnique();
|
||||||
modelBuilder.Entity<EnvelopeHistory>();
|
|
||||||
modelBuilder.Entity<EnvelopeType>();
|
|
||||||
modelBuilder.Entity<Receiver>()
|
|
||||||
.HasIndex(e => e.Signature)
|
|
||||||
.IsUnique();
|
|
||||||
modelBuilder.Entity<Receiver>()
|
|
||||||
.HasIndex(e => e.EmailAddress)
|
|
||||||
.IsUnique();
|
|
||||||
modelBuilder.Entity<EmailOut>();
|
|
||||||
|
|
||||||
// Configure the one-to-many relationship of Envelope
|
|
||||||
modelBuilder.Entity<Envelope>()
|
modelBuilder.Entity<Envelope>()
|
||||||
.HasMany(e => e.Documents)
|
.HasMany(e => e.Documents)
|
||||||
.WithOne()
|
.WithOne()
|
||||||
@ -130,16 +119,31 @@ public class EGDbContext : DbContext, IUserManagerDbContext, IMailDbContext
|
|||||||
.HasMany(e => e.History)
|
.HasMany(e => e.History)
|
||||||
.WithOne()
|
.WithOne()
|
||||||
.HasForeignKey(eh => eh.EnvelopeId);
|
.HasForeignKey(eh => eh.EnvelopeId);
|
||||||
|
#endregion Envelope
|
||||||
|
|
||||||
|
#region Receiver
|
||||||
|
modelBuilder.Entity<Receiver>()
|
||||||
|
.HasIndex(e => e.Signature)
|
||||||
|
.IsUnique();
|
||||||
|
|
||||||
|
modelBuilder.Entity<Receiver>()
|
||||||
|
.HasIndex(e => e.EmailAddress)
|
||||||
|
.IsUnique();
|
||||||
|
#endregion Receiver
|
||||||
|
|
||||||
|
#region EnvelopeDocument
|
||||||
modelBuilder.Entity<EnvelopeDocument>()
|
modelBuilder.Entity<EnvelopeDocument>()
|
||||||
.HasMany(ed => ed.Elements)
|
.HasMany(ed => ed.Elements)
|
||||||
.WithOne(e => e.Document)
|
.WithOne(e => e.Document)
|
||||||
.HasForeignKey(e => e.DocumentId);
|
.HasForeignKey(e => e.DocumentId);
|
||||||
|
#endregion EnvelopeDocument
|
||||||
|
|
||||||
|
#region DocumentReceiverElement
|
||||||
modelBuilder.Entity<DocumentReceiverElement>()
|
modelBuilder.Entity<DocumentReceiverElement>()
|
||||||
.HasOne(dre => dre.Document)
|
.HasOne(dre => dre.Document)
|
||||||
.WithMany(ed => ed.Elements)
|
.WithMany(ed => ed.Elements)
|
||||||
.HasForeignKey(dre => dre.DocumentId);
|
.HasForeignKey(dre => dre.DocumentId);
|
||||||
|
#endregion DocumentReceiverElement
|
||||||
|
|
||||||
if (!IsMigration)
|
if (!IsMigration)
|
||||||
{
|
{
|
||||||
@ -156,12 +160,15 @@ public class EGDbContext : DbContext, IUserManagerDbContext, IMailDbContext
|
|||||||
.HasPrincipalKey(e => e.Email);
|
.HasPrincipalKey(e => e.Email);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region EnvelopeReceiverReadOnly
|
||||||
modelBuilder.Entity<EnvelopeReceiverReadOnly>()
|
modelBuilder.Entity<EnvelopeReceiverReadOnly>()
|
||||||
.HasOne(erro => erro.Receiver)
|
.HasOne(erro => erro.Receiver)
|
||||||
.WithMany()
|
.WithMany()
|
||||||
.HasForeignKey(erro => erro.AddedWho)
|
.HasForeignKey(erro => erro.AddedWho)
|
||||||
.HasPrincipalKey(r => r.EmailAddress);
|
.HasPrincipalKey(r => r.EmailAddress);
|
||||||
|
#endregion EnvelopeReceiverReadOnly
|
||||||
|
|
||||||
|
#region DocumentStatus
|
||||||
modelBuilder.Entity<DocumentStatus>()
|
modelBuilder.Entity<DocumentStatus>()
|
||||||
.HasOne(ds => ds.Envelope)
|
.HasOne(ds => ds.Envelope)
|
||||||
.WithMany()
|
.WithMany()
|
||||||
@ -176,7 +183,9 @@ public class EGDbContext : DbContext, IUserManagerDbContext, IMailDbContext
|
|||||||
.HasOne(ds => ds.Receiver)
|
.HasOne(ds => ds.Receiver)
|
||||||
.WithMany()
|
.WithMany()
|
||||||
.HasForeignKey(ds => ds.ReceiverId);
|
.HasForeignKey(ds => ds.ReceiverId);
|
||||||
|
#endregion DocumentStatus
|
||||||
|
|
||||||
|
#region Trigger
|
||||||
// Configure entities to handle database triggers
|
// Configure entities to handle database triggers
|
||||||
void AddTrigger<T>() where T : class => _triggers
|
void AddTrigger<T>() where T : class => _triggers
|
||||||
.Where(t => t.Key == typeof(T).Name)
|
.Where(t => t.Key == typeof(T).Name)
|
||||||
@ -200,6 +209,7 @@ public class EGDbContext : DbContext, IUserManagerDbContext, IMailDbContext
|
|||||||
AddTrigger<EnvelopeType>();
|
AddTrigger<EnvelopeType>();
|
||||||
AddTrigger<Receiver>();
|
AddTrigger<Receiver>();
|
||||||
AddTrigger<EmailOut>();
|
AddTrigger<EmailOut>();
|
||||||
|
#endregion Trigger
|
||||||
|
|
||||||
//configure model builder for user manager tables
|
//configure model builder for user manager tables
|
||||||
modelBuilder.ConfigureUserManager();
|
modelBuilder.ConfigureUserManager();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user