public static Employee Model(EmployeeSeed seed) { var model = new Employee { Id = seed.Id, Name = seed.Name, AnnualSalary = seed.Salary, Dependents = new List <Dependent>(), EmployerId = seed.EmployerId, }; if (seed.SpouseName != null) { model.Dependents.Add(new Dependent { Id = seed.SpouseId, Name = seed.SpouseName, Relationship = Relationship.Spouse }); } foreach (var(childId, childName) in seed.Children) { model.Dependents.Add(new Dependent { Id = childId, Name = childName, Relationship = Relationship.Child }); } return(model); }
public static void MigrateTablesAndSeed(IHost host) { using (var scope = host.Services.CreateScope()) { var services = scope.ServiceProvider; try { using (var context = new CompanyContext( services.GetRequiredService < DbContextOptions <CompanyContext> >())) { // Migrate the tables context.Database.Migrate(); } EmployeeSeed.Initialize(services); JobSeed.Initialize(services); JobEmployeeSeed.Initialize(services); } catch (Exception ex) { var logger = services.GetRequiredService <ILogger <Program> >(); logger.LogError(ex, "An error occurred seeding the DB."); } } }
public void Search_ContextHasRecords() { //Arrange var employees = EmployeeSeed.Data(); //Act var results = _manager.Add(employees); //Assert Assert.True(results.Succeeded); }
protected override void OnModelCreating(ModelBuilder modelBuilder) { #region Employee modelBuilder.Entity <Employee>() .HasOne(a => a.LoginInfo) .WithOne(b => b.Employee) .HasForeignKey <LoginInfo>(b => b.EmployeeId); modelBuilder.Entity <Employee>() .HasOne(a => a.AtWork) .WithOne(b => b.Employee) .HasForeignKey <AtWork>(b => b.EmployeeId); modelBuilder.Entity <Employee>() .HasData(EmployeeSeed.Seed()); modelBuilder.Entity <Employee>() .HasMany(a => a.LoginsHistory) .WithOne(b => b.Employee); #endregion #region LoginInfo modelBuilder.Entity <LoginInfo>() .HasIndex(prop => prop.Username) .IsUnique(); modelBuilder.Entity <LoginInfo>() .HasData(LoginInfoSeed.Seed()); #endregion #region Role modelBuilder.Entity <Role>() .HasMany(a => a.Employees) .WithOne(b => b.Role); modelBuilder.Entity <Role>() .HasData(RoleSeed.Seed()); #endregion #region AtWork //No seed needed #endregion #region LoginHistory // no seed needed #endregion }
public static void Initialize(IServiceProvider serviceProvider) { using (var context = new EmplyeeDbConext( serviceProvider.GetRequiredService <DbContextOptions <EmplyeeDbConext> >())) { // Look for any board games. if (context.Employee.Any()) { return; // Data was already seeded } var employees = EmployeeSeed.Data(); context.Employee.AddRange(employees); context.SaveChanges(); } }
public void Search_FindStaffs() { //Arrange var employees = EmployeeSeed.Data(); var search = "Baxter"; //Act var addResults = _manager.Add(employees); var results = _manager.Find(search); //Assert Assert.True(addResults.Succeeded); Assert.True(results.Succeeded); Assert.Equal(search, results.Employees.First().Lastname); }
public static EmployeeDto Dto(EmployeeSeed seed) { var dto = new EmployeeDto { Id = seed.Id, AnnualSalary = seed.Salary, Name = seed.Name, Spouse = seed.SpouseName == null ? null : new DependentDto { Id = seed.SpouseId, Name = seed.SpouseName }, // This has been open for 3 years ☹ https://github.com/dotnet/csharplang/issues/258 Children = seed.Children.Select(((int childId, string childName)c) => new DependentDto { Id = c.childId, Name = c.childName }).ToList(), }; return(dto); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IServiceProvider serviceProvider) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseHttpsRedirection(); app.UseRouting(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); EmployeeSeed.AddEmployees(serviceProvider).Wait(); }
public DomainSeed(EmployeeSeed employeeSeed) => this.employeeSeed = employeeSeed;
public static (Employee, EmployeeDto) GenerateEmployee(EmployeeSeed seed) { return(Model(seed), Dto(seed)); }
public static (Employee, EmployeeDto) GenerateEmployee(EmployeeSeedParams seedParams) { var seed = new EmployeeSeed(seedParams); return(GenerateEmployee(seed)); }