using Auth.Domain.Entities; using Auth.Domain.Entities.HR; using Bogus; // using Domain.Configuration; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Identity.EntityFrameworkCore; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Diagnostics; namespace Auth.Domain; public class Context : IdentityDbContext { public Context(DbContextOptions options) : base(options) { } // public DbSet Products { get; set; } public DbSet AppUsers { get; set; } public DbSet Roles { get; set; } // public DbSet Salaries { get; set; } // public DbSet Categories { get; set; } // public DbSet Orders { get; set; } // public DbSet ItemOrders { get; set; } // public DbSet Bills { get; set; } // public DbSet BillTypes { get; set; } // public DbSet Roles { get; set; } // public DbSet Shippings { get; set; } // public DbSet Bundles { get; set; } // public DbSet Requests { get; set; } // public DbSet Purchases { get; set; } // public DbSet StoreItems { get; set; } // public DbSet InventoryOrders { get; set; } // public DbSet Deliveries { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.ConfigureWarnings(warnings => warnings.Ignore(RelationalEventId.PendingModelChangesWarning) ); } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); var password = new PasswordHasher(); var superAdmin = new AppUser() { Id = Guid.NewGuid().ToString(), Name = "said", Email = "said.amir.kattan@outlook.com", UserName = "said.amir.kattan@outlook.com", NormalizedEmail = "said.amir.kattan@outlook.com".ToUpper(), NormalizedUserName = "said.amir.kattan@outlook.com".ToUpper(), Building = "Building 123", PhoneNumber = "01231231322", PhotoPath = "Test", EmailConfirmed = true, Holidays = 2, PasswordHash = password.HashPassword(null, "aaa111!!!AAA"), // Roles = new List() {} }; var standardRole = new IdentityRole() { Id = Guid.NewGuid().ToString(), Name = "User", NormalizedName = "User".ToUpper(), ConcurrencyStamp = Guid.NewGuid().ToString(), }; var moderatorRole = new IdentityRole() { Id = Guid.NewGuid().ToString(), Name = "Moderator", NormalizedName = "moderator".ToUpper(), ConcurrencyStamp = Guid.NewGuid().ToString(), }; var AdminRole = new IdentityRole() { Id = Guid.NewGuid().ToString(), Name = "Admin", NormalizedName = "Admin".ToUpper(), ConcurrencyStamp = Guid.NewGuid().ToString(), }; var superAdminRole = new IdentityRole() { Id = Guid.NewGuid().ToString(), Name = "SuperAdmin", NormalizedName = "superAdmin".ToUpper(), ConcurrencyStamp = Guid.NewGuid().ToString(), }; var userRole = new IdentityUserRole() { RoleId = superAdminRole.Id, UserId = superAdmin.Id, }; modelBuilder.Entity().HasData(superAdmin); modelBuilder .Entity() .HasData(standardRole, moderatorRole, AdminRole, superAdminRole); modelBuilder.Entity>().HasData(userRole); // var users = new UserConfiguration(300); // modelBuilder.Entity().HasData(users); // var categoryCount = 30; //modelBuilder.Entity().HasData(productsList); // modelBuilder.ApplyConfiguration(new CategoryConfiguration(categoryCount)); // modelBuilder.ApplyConfiguration(new ProductConfiguration(1000, categoryCount)); // modelBuilder.ApplyConfiguration(new ShippingConfiguration()); // modelBuilder.ApplyConfiguration(new BundleConfiguration(50)); } }