protected override void Seed(ApplicationDbContext context) { // To "seed" a database is to provide it with some initial data // when the database is created. #region Seed the security roles var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(context)); var startupRoles = ConfigurationManager.AppSettings["startupRoles"].Split(';'); foreach (var role in startupRoles) { roleManager.Create(new IdentityRole { Name = role }); } #endregion #region Seed the users // First, create the administrator for the site string adminUser = ConfigurationManager.AppSettings["adminUserName"]; string adminEmail = ConfigurationManager.AppSettings["adminEmail"]; string adminPassword = ConfigurationManager.AppSettings["adminPassword"]; var userManager = new ApplicationUserManager(new UserStore <ApplicationUser>(context)); var result = userManager.Create(new ApplicationUser { UserName = adminUser, Email = adminEmail, EmailConfirmed = true }, adminPassword); if (result.Succeeded) { userManager.AddToRole(userManager.FindByName(adminUser).Id, Settings.AdminRole); } // Next, create login accounts for all the employees string defaultPassword = ConfigurationManager.AppSettings["defaultPassword"]; string emailDomain = ConfigurationManager.AppSettings["companyDomain"]; var controller = new SetupUserRegistrationController(); IEnumerable <SetupUserInfo> employees = controller.GetActiveEmployees(emailDomain); foreach (var person in employees) { result = userManager.Create(new ApplicationUser { UserName = person.UserName, Email = person.EmailAddress, EmailConfirmed = true, EmployeeId = int.Parse(person.UserId) }, defaultPassword); if (result.Succeeded) { userManager.AddToRole(userManager.FindByName(person.UserName).Id, Settings.EmployeeRole); } } // Also create login accounts for all the suppliers IEnumerable <SetupUserInfo> suppliers = controller.GetCurrentSuppliers(); foreach (var supplier in suppliers) { result = userManager.Create(new ApplicationUser { UserName = supplier.UserName, Email = supplier.EmailAddress, EmailConfirmed = true, SupplierId = int.Parse(supplier.UserId) }, defaultPassword); if (result.Succeeded) { userManager.AddToRole(userManager.FindByName(supplier.UserName).Id, Settings.SupplierRole); } } // Lastly, create login accounts for all the customers IEnumerable <SetupUserInfo> customers = controller.GetCurrentCustomers(); foreach (var company in customers) { result = userManager.Create(new ApplicationUser { UserName = company.UserName, Email = company.EmailAddress, EmailConfirmed = true, CustomerId = company.UserId }, defaultPassword); if (result.Succeeded) { userManager.AddToRole(userManager.FindByName(company.UserName).Id, Settings.CustomerRole); } } #endregion base.Seed(context); }
protected override void Seed(ApplicationDbContext context) { var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(context)); var startupRoles = ConfigurationManager.AppSettings["startupRoles"].Split(';'); foreach (var role in startupRoles) { roleManager.Create(new IdentityRole { Name = role }); } string adminUser = ConfigurationManager.AppSettings["adminUserName"]; string adminEmail = ConfigurationManager.AppSettings["adminEmail"]; string adminPassword = ConfigurationManager.AppSettings["adminPassword"]; var userManager = new ApplicationUserManager(new UserStore <ApplicationUser>(context)); var result = userManager.Create(new ApplicationUser { UserName = adminUser, Email = adminEmail, EmailConfirmed = true }, adminPassword); if (result.Succeeded) { userManager.AddToRole(userManager.FindByName(adminUser).Id, Settings.AdminRole); } string defaultPassword = ConfigurationManager.AppSettings["defaultPassword"]; var controller = new SetupUserRegistrationController(); IEnumerable <SetupUserInfo> directors = controller.GetDirectors(); foreach (var person in directors) { result = userManager.Create(new ApplicationUser { UserName = person.UserName, EmployeeID = int.Parse(person.UserId) }, defaultPassword); if (result.Succeeded) { userManager.AddToRole(userManager.FindByName(person.UserName).Id, Settings.DirectorRole); } } IEnumerable <SetupUserInfo> coordinators = controller.GetCoordinators(); foreach (var person in coordinators) { result = userManager.Create(new ApplicationUser { UserName = person.UserName, EmployeeID = int.Parse(person.UserId) }, defaultPassword); if (result.Succeeded) { userManager.AddToRole(userManager.FindByName(person.UserName).Id, Settings.CoordinatorRole); } } IEnumerable <SetupUserInfo> investigators = controller.GetInvestigators(); foreach (var person in investigators) { result = userManager.Create(new ApplicationUser { UserName = person.UserName, EmployeeID = int.Parse(person.UserId) }, defaultPassword); if (result.Succeeded) { userManager.AddToRole(userManager.FindByName(person.UserName).Id, Settings.InvestigatorRole); } } IEnumerable <SetupUserInfo> seniormechanics = controller.GetSeniorMechanics(); foreach (var person in seniormechanics) { result = userManager.Create(new ApplicationUser { UserName = person.UserName, EmployeeID = int.Parse(person.UserId) }, defaultPassword); if (result.Succeeded) { userManager.AddToRole(userManager.FindByName(person.UserName).Id, Settings.SeniorMechanicRole); } } IEnumerable <SetupUserInfo> mechanics = controller.GetMechanics(); foreach (var person in mechanics) { result = userManager.Create(new ApplicationUser { UserName = person.UserName, EmployeeID = int.Parse(person.UserId) }, defaultPassword); if (result.Succeeded) { userManager.AddToRole(userManager.FindByName(person.UserName).Id, Settings.MechanicRole); } } IEnumerable <SetupUserInfo> trackservices = controller.GetTrackServices(); foreach (var person in trackservices) { result = userManager.Create(new ApplicationUser { UserName = person.UserName, EmployeeID = int.Parse(person.UserId) }, defaultPassword); if (result.Succeeded) { userManager.AddToRole(userManager.FindByName(person.UserName).Id, Settings.TrackServiceRole); } } IEnumerable <SetupUserInfo> foodservices = controller.GetFoodServices(); foreach (var person in foodservices) { result = userManager.Create(new ApplicationUser { UserName = person.UserName, EmployeeID = int.Parse(person.UserId) }, defaultPassword); if (result.Succeeded) { userManager.AddToRole(userManager.FindByName(person.UserName).Id, Settings.FoodServiceRole); } } IEnumerable <SetupUserInfo> shops = controller.GetShops(); foreach (var person in shops) { result = userManager.Create(new ApplicationUser { UserName = person.UserName, EmployeeID = int.Parse(person.UserId) }, defaultPassword); if (result.Succeeded) { userManager.AddToRole(userManager.FindByName(person.UserName).Id, Settings.ShopRole); } } IEnumerable <SetupUserInfo> clerks = controller.GetClerks(); foreach (var person in clerks) { result = userManager.Create(new ApplicationUser { UserName = person.UserName, EmployeeID = int.Parse(person.UserId) }, defaultPassword); if (result.Succeeded) { userManager.AddToRole(userManager.FindByName(person.UserName).Id, Settings.ClerkRole); } } IEnumerable <SetupUserInfo> officemanagers = controller.GetOfficeManagers(); foreach (var person in officemanagers) { result = userManager.Create(new ApplicationUser { UserName = person.UserName, EmployeeID = int.Parse(person.UserId) }, defaultPassword); if (result.Succeeded) { userManager.AddToRole(userManager.FindByName(person.UserName).Id, Settings.OfficeManagerRole); } } base.Seed(context); }