public async Task <IActionResult> Register(RegistrationModel model) { if (ModelState.IsValid) { var user = await _userManager.FindByNameAsync(model.UserName); if (user == null) { user = new BenchUser() { FirstName = model.FirstName, LastName = model.LastName, Email = model.Email, UserName = model.UserName }; var result = await _userManager.CreateAsync(user, model.Password); if (result != IdentityResult.Success) { throw new InvalidOperationException("Could not create BenchUser."); } user = await _userManager.FindByNameAsync(model.UserName); await _userManager.AddToRoleAsync(user, Constants.BenchRegisteredUsersRole); ViewBag.UserMessage = "User Created"; ModelState.Clear(); } } return(View()); }
public async Task SeedAsync() { _ctx.Database.Migrate(); var benchesJsonPath = "D:/home/site/wwwroot"; var adminRole = Constants.BenchAdministratorsRole; if (!await _roleManager.RoleExistsAsync(adminRole)) { await _roleManager.CreateAsync(new IdentityRole(adminRole)); } var regUserRole = Constants.BenchRegisteredUsersRole; if (!await _roleManager.RoleExistsAsync(regUserRole)) { await _roleManager.CreateAsync(new IdentityRole(regUserRole)); } var user = await _userManager.FindByEmailAsync("*****@*****.**"); if (user == null) { user = new BenchUser() { FirstName = "Joe", LastName = "Bloggs", Email = "*****@*****.**", UserName = "******" }; var result = await _userManager.CreateAsync(user, "P@ssw0rd"); if (result != IdentityResult.Success) { throw new InvalidOperationException("Could not create BenchUser."); } } var superuser = await _userManager.FindByEmailAsync("*****@*****.**"); if (superuser == null) { superuser = new BenchUser() { UserName = "******", FirstName = "Buzz", LastName = "Lightyear", Email = "*****@*****.**" }; var result = await _userManager.CreateAsync(superuser, "T0y$tory"); if (result != IdentityResult.Success) { throw new InvalidOperationException("Could not create BenchUser."); } } user = await _userManager.FindByEmailAsync("*****@*****.**"); await _userManager.AddToRoleAsync(user, adminRole); superuser = await _userManager.FindByEmailAsync("*****@*****.**"); await _userManager.AddToRoleAsync(superuser, regUserRole); if (!_ctx.Walks.Any()) { var filepath = Path.Combine(_hosting.ContentRootPath, "Data/benchwalk.json"); var json = File.ReadAllText(filepath); var walks = JsonConvert.DeserializeObject <IEnumerable <Walks> >(json); _ctx.Walks.AddRange(walks); _ctx.SaveChanges(); } }