public static void Initialize(IServiceProvider serviceProvider) { using (var db = new BenefitsDataContext( serviceProvider.GetRequiredService < DbContextOptions <BenefitsDataContext> >())) { Initialize(db); } }
public static void Initialize(BenefitsDataContext db) { if (db.Database.ProviderName != "Microsoft.EntityFrameworkCore.InMemory") { db.Database.Migrate(); } if (db.Employees.Any()) { return; } var employeeBenefit = new EmployeeBenefit() { AnnualCost = 1000, IsEnabled = true, Description = "Medical benefit for household", }; employeeBenefit.BenefitDiscounts = new List <BenefitDiscount>() { new NameStartsWithBenefitDiscount() { NameStartsWith = "A", Percent = 0.01M, } }; db.EmployeeBenefits.AddRange(employeeBenefit); var dependentBenefit = new DependentBenefit() { AnnualCost = 500, IsEnabled = true, Description = "Medical benefit for dependents" }; dependentBenefit.BenefitDiscounts = new List <BenefitDiscount>() { new NameStartsWithBenefitDiscount() { NameStartsWith = "A", Percent = 0.1M, } }; db.DependentBenefits.AddRange(dependentBenefit); var employee = new Employee() { FirstName = "John", LastName = "Doe", StartDate = new DateTime(2020, 1, 1), Dependents = new List <Dependent>() { new Dependent() { FirstName = "Jane", LastName = "Doe", DependentRelationshipToEmployee = DependentRelationshipToEmployee.Spouse, }, new Dependent() { FirstName = "Kevin", LastName = "Doe", DependentRelationshipToEmployee = DependentRelationshipToEmployee.Child, }, new Dependent() { FirstName = "Alex", LastName = "Doe", DependentRelationshipToEmployee = DependentRelationshipToEmployee.Child, } } }; employee.Paychecks = BuildPaychecks(employee, 2020); db.Employees.AddRange( employee ); db.SaveChanges(); }