fix
This commit is contained in:
@@ -6,6 +6,8 @@ using Data.Models.Items;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Data.Models.Users;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
using MyOffice.Data.Models.Verifications;
|
||||
using MyOffice.Data.Models.Notifications;
|
||||
|
||||
public enum AppDbContextProvidersEnum
|
||||
{
|
||||
@@ -46,6 +48,9 @@ public class AppDbContext : DbContext
|
||||
public DbSet<Item> Items { get; set; } = null!;
|
||||
public DbSet<Motion> Motions { get; set; } = null!;
|
||||
|
||||
public DbSet<VerificationCode> Verifications { get; set; } = null!;
|
||||
public DbSet<EmailTemplate> EmailTemplates { get; set; } = null!;
|
||||
|
||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
var noCaseCollation = _noCaseCollation[_provider];
|
||||
@@ -82,10 +87,29 @@ public class AppDbContext : DbContext
|
||||
CurrencyCreating(modelBuilder);
|
||||
AccountCreating(modelBuilder);
|
||||
MotionsCreating(modelBuilder);
|
||||
VerificationsCreating(modelBuilder);
|
||||
EmailTemplateCreating(modelBuilder);
|
||||
|
||||
base.OnModelCreating(modelBuilder);
|
||||
}
|
||||
|
||||
private void VerificationsCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.Entity<VerificationCode>()
|
||||
.HasKey(x => x.Id);
|
||||
|
||||
modelBuilder.Entity<VerificationCode>()
|
||||
.HasOne(x => x.User)
|
||||
.WithMany()
|
||||
.HasForeignKey(x => x.UserId);
|
||||
}
|
||||
|
||||
private void EmailTemplateCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.Entity<EmailTemplate>()
|
||||
.HasKey(x => x.Id);
|
||||
}
|
||||
|
||||
private void UserCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.Entity<User>()
|
||||
@@ -128,24 +152,11 @@ public class AppDbContext : DbContext
|
||||
|
||||
private void AccountCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
#region Account
|
||||
|
||||
modelBuilder.Entity<Account>()
|
||||
.HasKey(x => x.Id);
|
||||
|
||||
modelBuilder.Entity<AccountAccess>()
|
||||
.HasKey(x => x.Id);
|
||||
|
||||
modelBuilder.Entity<AccountAccessInvite>()
|
||||
.HasKey(x => x.Id);
|
||||
|
||||
modelBuilder.Entity<Motion>()
|
||||
.HasKey(x => x.Id);
|
||||
|
||||
modelBuilder.Entity<AccountCategory>()
|
||||
.HasKey(x => x.Id);
|
||||
|
||||
modelBuilder.Entity<AccountAccountCategory>()
|
||||
.HasKey(x => x.Id);
|
||||
|
||||
modelBuilder.Entity<Account>()
|
||||
.HasOne(x => x.CurrencyGlobal)
|
||||
.WithMany(x => x.Accounts)
|
||||
@@ -156,6 +167,13 @@ public class AppDbContext : DbContext
|
||||
.WithMany(x => x.Accounts)
|
||||
.HasForeignKey(x => x.OwnerId);
|
||||
|
||||
#endregion Account
|
||||
|
||||
#region AccountAccess
|
||||
|
||||
modelBuilder.Entity<AccountAccess>()
|
||||
.HasKey(x => x.Id);
|
||||
|
||||
modelBuilder.Entity<AccountAccess>()
|
||||
.HasOne(x => x.Account)
|
||||
.WithMany(x => x.AccessRights)
|
||||
@@ -171,6 +189,26 @@ public class AppDbContext : DbContext
|
||||
.WithMany(x => x.AccountAccessOwners)
|
||||
.HasForeignKey(x => x.OwnerId);
|
||||
|
||||
modelBuilder
|
||||
.Entity<AccountAccess>()
|
||||
.Property(d => d.Type)
|
||||
.HasConversion(new EnumToStringConverter<AccountAccessTypeEnum>());
|
||||
|
||||
modelBuilder.Entity<AccountAccess>()
|
||||
.HasIndex(p => new { p.AccountId, p.UserId })
|
||||
.IsUnique();
|
||||
|
||||
modelBuilder.Entity<AccountAccess>()
|
||||
.HasIndex(p => new { p.AccountId, p.OwnerId })
|
||||
.IsUnique();
|
||||
|
||||
#endregion AccountAccess
|
||||
|
||||
#region AccountAccessInvite
|
||||
|
||||
modelBuilder.Entity<AccountAccessInvite>()
|
||||
.HasKey(x => x.Id);
|
||||
|
||||
modelBuilder.Entity<AccountAccessInvite>()
|
||||
.HasOne(x => x.User)
|
||||
.WithMany(x => x.AccountAccessInvites)
|
||||
@@ -180,16 +218,37 @@ public class AppDbContext : DbContext
|
||||
.HasOne(x => x.Account)
|
||||
.WithMany(x => x.Invites)
|
||||
.HasForeignKey(x => x.AccountId);
|
||||
|
||||
#endregion AccountAccessInvite
|
||||
|
||||
#region Motion
|
||||
|
||||
modelBuilder.Entity<Motion>()
|
||||
.HasKey(x => x.Id);
|
||||
|
||||
modelBuilder.Entity<Motion>()
|
||||
.HasOne(x => x.Account)
|
||||
.WithMany(x => x.Motions)
|
||||
.HasForeignKey(x => x.AccountId);
|
||||
|
||||
#endregion Motion
|
||||
|
||||
#region AccountCategory
|
||||
|
||||
modelBuilder.Entity<AccountCategory>()
|
||||
.HasKey(x => x.Id);
|
||||
|
||||
modelBuilder.Entity<AccountCategory>()
|
||||
.HasOne(x => x.User)
|
||||
.WithMany(x => x.AccountCategories)
|
||||
.HasForeignKey(x => x.UserId);
|
||||
|
||||
#endregion AccountCategory
|
||||
|
||||
#region AccountAccountCategory
|
||||
|
||||
modelBuilder.Entity<AccountAccountCategory>()
|
||||
.HasKey(x => x.Id);
|
||||
|
||||
modelBuilder.Entity<AccountAccountCategory>()
|
||||
.HasOne(x => x.Account)
|
||||
@@ -201,13 +260,16 @@ public class AppDbContext : DbContext
|
||||
.WithMany(x => x.Accounts)
|
||||
.HasForeignKey(x => x.CategoryId);
|
||||
|
||||
modelBuilder
|
||||
.Entity<AccountAccess>()
|
||||
.Property(d => d.Type)
|
||||
.HasConversion(new EnumToStringConverter<AccountAccessTypeEnum>());
|
||||
modelBuilder.Entity<AccountAccountCategory>()
|
||||
.HasIndex(p => new { p.AccountId, p.CategoryId })
|
||||
.IsUnique();
|
||||
|
||||
modelBuilder.Entity<AccountAccess>()
|
||||
.HasIndex(p => new { p.AccountId, p.UserId}).IsUnique();
|
||||
modelBuilder.Entity<AccountAccountCategory>()
|
||||
.HasOne(x => x.Category)
|
||||
.WithMany(x => x.Accounts)
|
||||
.HasForeignKey(x => x.CategoryId);
|
||||
|
||||
#endregion AccountAccountCategory
|
||||
}
|
||||
|
||||
private void MotionsCreating(ModelBuilder modelBuilder)
|
||||
|
||||
Reference in New Issue
Block a user