public List <User> SeedUsers(int totalAdmin, int totalManager, int totalCustomer) { // get data from dbModel var userTable = dbModel.FirstOrDefault(x => x.TableName == TABLE_USER); var managerTable = dbModel.FirstOrDefault(x => x.TableName == TABLE_MANAGER); var customerTable = dbModel.FirstOrDefault(x => x.TableName == TABLE_CUSTOMER); if (userTable == null || managerTable == null || customerTable == null) { throw new HttpResponseException(BAD_REQUEST_CODE); } // clear existed data context.Database.ExecuteSqlRaw(userTable.MakeDeleteDataCmd()); context.Database.ExecuteSqlRaw(managerTable.MakeDeleteDataCmd()); context.Database.ExecuteSqlRaw(customerTable.MakeDeleteDataCmd()); // begin to insert var seeder = new UserTableSeeder(totalAdmin, totalManager, totalCustomer); context.Users.AddRange(seeder.Users); context.Managers.AddRange(seeder.Managers); context.Customers.AddRange(seeder.Customers); context.SaveChanges(); // perform reset sequence context.Database.ExecuteSqlRaw(userTable.MakeSetSequenceCmd(totalAdmin + totalManager + totalCustomer)); return(context.Users.AsNoTracking().ToList()); }
public GeneralModuleSeeder( RoleTableSeeder roleTableSeeder, UserTableSeeder userTableSeeder, DisablementTypeTableSeeder disablementTypeTableSeeder, LoginMaxAttemptTableSeeder loginMaxAttemptTableSeeder ) { _roleTableSeeder = roleTableSeeder; _userTableSeeder = userTableSeeder; _disablementTypeTableSeeder = disablementTypeTableSeeder; _loginMaxAttemptTableSeeder = loginMaxAttemptTableSeeder; }