private static async Task SeedDefaultUsersAsync(UserManager <BTUser> userManager, IImageService imageService) { #region Seed Admin var defaultAdmin = new BTUser { UserName = "******", Email = "*****@*****.**", FirstName = "Charlie", LastName = "Tincher", FileName = "defaultavatar.jpg", FileData = await imageService.AssignAvatarAsync("defaultavatar.jpg"), EmailConfirmed = true }; try { var user = await userManager.FindByEmailAsync(defaultAdmin.Email); if (user == null) { await userManager.CreateAsync(defaultAdmin, "Charlie@123"); await userManager.AddToRoleAsync(defaultAdmin, Roles.Admin.ToString()); } } catch (Exception ex) { Debug.WriteLine("************ ERROR ************"); Debug.WriteLine("Error Seeding Default Admin User."); Debug.WriteLine("ex.Message"); Debug.WriteLine("*******************************"); } #endregion #region Seed Project Manager var defaultProjectManager = new BTUser { UserName = "******", Email = "*****@*****.**", FirstName = "DustinPM", LastName = "Kensrue", FileName = "defaultavatar.jpg", FileData = await imageService.AssignAvatarAsync("defaultavatar.jpg"), EmailConfirmed = true }; try { var user = await userManager.FindByEmailAsync(defaultProjectManager.Email); if (user == null) { await userManager.CreateAsync(defaultProjectManager, "Kensrue@123"); await userManager.AddToRoleAsync(defaultProjectManager, Roles.ProjectManager.ToString()); } } catch (Exception ex) { Debug.WriteLine("************ ERROR ************"); Debug.WriteLine("Error Seeding Default Project Manager User."); Debug.WriteLine("ex.Message"); Debug.WriteLine("*******************************"); } defaultProjectManager = new BTUser { UserName = "******", Email = "*****@*****.**", FirstName = "JakePM", LastName = "Smith", EmailConfirmed = true }; try { var user = await userManager.FindByEmailAsync(defaultProjectManager.Email); if (user == null) { await userManager.CreateAsync(defaultProjectManager, "Jake@123"); await userManager.AddToRoleAsync(defaultProjectManager, Roles.ProjectManager.ToString()); } } catch (Exception ex) { Debug.WriteLine("************ ERROR ************"); Debug.WriteLine("Error Seeding Default Project Manager User."); Debug.WriteLine("ex.Message"); Debug.WriteLine("*******************************"); } #endregion #region Seed Developer var defaultDeveloper = new BTUser { UserName = "******", Email = "*****@*****.**", FirstName = "BobbyDev", LastName = "Long", FileName = "defaultavatar.jpg", FileData = await imageService.AssignAvatarAsync("defaultavatar.jpg"), EmailConfirmed = true }; try { var user = await userManager.FindByEmailAsync(defaultDeveloper.Email); if (user == null) { await userManager.CreateAsync(defaultDeveloper, "Bobby@123"); await userManager.AddToRoleAsync(defaultDeveloper, Roles.Developer.ToString()); } } catch (Exception ex) { Debug.WriteLine("************ ERROR ************"); Debug.WriteLine("Error Seeding Default Developer User."); Debug.WriteLine(ex.Message); Debug.WriteLine("*******************************"); } #endregion #region Seed Submitter var defaultSubmitter = new BTUser { UserName = "******", Email = "*****@*****.**", FirstName = "Chris", LastName = "Cornell", FileName = "defaultavatar.jpg", FileData = await imageService.AssignAvatarAsync("defaultavatar.jpg"), EmailConfirmed = true }; try { var user = await userManager.FindByEmailAsync(defaultSubmitter.Email); if (user == null) { await userManager.CreateAsync(defaultSubmitter, "Chris@123"); await userManager.AddToRoleAsync(defaultSubmitter, Roles.Submitter.ToString()); } } catch (Exception ex) { Debug.WriteLine("************ ERROR ************"); Debug.WriteLine("Error Seeding Default Submitter User."); Debug.WriteLine("ex.Message"); Debug.WriteLine("*******************************"); } #endregion #region Seed New User var defaultNewUser = new BTUser { UserName = "******", Email = "*****@*****.**", FirstName = "James", LastName = "Taylor", FileName = "defaultavatar.jpg", FileData = await imageService.AssignAvatarAsync("defaultavatar.jpg"), EmailConfirmed = true }; try { var user = await userManager.FindByEmailAsync(defaultNewUser.Email); if (user == null) { await userManager.CreateAsync(defaultNewUser, "James@123"); await userManager.AddToRoleAsync(defaultNewUser, Roles.NewUser.ToString()); } } catch (Exception ex) { Debug.WriteLine("************ ERROR ************"); Debug.WriteLine("Error Seeding Default New User."); Debug.WriteLine("ex.Message"); Debug.WriteLine("*******************************"); } #endregion //Start demo user seeds //Each user occupies a "main" role and this new demo version of the role //We will target this Demo role in order to demo this project without giving the abilty to this demo users to access the database //Below is the password for all of the demo users string demoPassword = "******"; //Anthony Stark #region Demo Seed Admin defaultAdmin = new BTUser { UserName = "******", Email = "*****@*****.**", FirstName = "Anthony", LastName = "Stark", FileName = "stark.jpg", FileData = await imageService.AssignAvatarAsync("stark.jpg"), EmailConfirmed = true }; try { var user = await userManager.FindByEmailAsync(defaultAdmin.Email); if (user == null) { await userManager.CreateAsync(defaultAdmin, demoPassword); await userManager.AddToRoleAsync(defaultAdmin, Roles.Admin.ToString()); await userManager.AddToRoleAsync(defaultAdmin, Roles.Demo.ToString()); } } catch (Exception ex) { Debug.WriteLine("************ ERROR ************"); Debug.WriteLine("Error Seeding Default Admin User."); Debug.WriteLine("ex.Message"); Debug.WriteLine("*******************************"); } #endregion //Harley Keener #region Demo Seed Project Manager defaultProjectManager = new BTUser { UserName = "******", Email = "*****@*****.**", FirstName = "Harley", LastName = "Keener", FileName = "harley-keener.jpg", FileData = await imageService.AssignAvatarAsync("harley-keener.jpg"), EmailConfirmed = true }; try { var user = await userManager.FindByEmailAsync(defaultProjectManager.Email); if (user == null) { await userManager.CreateAsync(defaultProjectManager, demoPassword); await userManager.AddToRoleAsync(defaultProjectManager, Roles.ProjectManager.ToString()); await userManager.AddToRoleAsync(defaultProjectManager, Roles.Demo.ToString()); } } catch (Exception ex) { Debug.WriteLine("************ ERROR ************"); Debug.WriteLine("Error Seeding Default Project Manager User."); Debug.WriteLine("ex.Message"); Debug.WriteLine("*******************************"); } //defaultProjectManager = new BTUser //{ // UserName = "******", // Email = "*****@*****.**", // FirstName = "JakeDemo", // LastName = "Smith", // EmailConfirmed = true //}; //try //{ // var user = await userManager.FindByEmailAsync(defaultProjectManager.Email); // if (user == null) // { // await userManager.CreateAsync(defaultProjectManager, demoPassword); // await userManager.AddToRoleAsync(defaultProjectManager, Roles.ProjectManager.ToString()); // await userManager.AddToRoleAsync(defaultProjectManager, Roles.Demo.ToString()); // } //} //catch (Exception ex) //{ // Debug.WriteLine("************ ERROR ************"); // Debug.WriteLine("Error Seeding Default Project Manager User."); // Debug.WriteLine("ex.Message"); // Debug.WriteLine("*******************************"); //} #endregion //Carol Danvers #region Demo Seed Developer defaultDeveloper = new BTUser { UserName = "******", Email = "*****@*****.**", FirstName = "Carol", LastName = "Danvers", FileName = "carol.png", FileData = await imageService.AssignAvatarAsync("carol.png"), EmailConfirmed = true }; try { var user = await userManager.FindByEmailAsync(defaultDeveloper.Email); if (user == null) { await userManager.CreateAsync(defaultDeveloper, demoPassword); await userManager.AddToRoleAsync(defaultDeveloper, Roles.Developer.ToString()); await userManager.AddToRoleAsync(defaultDeveloper, Roles.Demo.ToString()); } } catch (Exception ex) { Debug.WriteLine("************ ERROR ************"); Debug.WriteLine("Error Seeding Default Developer User."); Debug.WriteLine(ex.Message); Debug.WriteLine("*******************************"); } #endregion //Clint Barton #region Demo Seed Submitter defaultSubmitter = new BTUser { UserName = "******", Email = "*****@*****.**", FirstName = "Clint", LastName = "Barton", FileName = "clint.jpg", FileData = await imageService.AssignAvatarAsync("clint.jpg"), EmailConfirmed = true }; try { var user = await userManager.FindByEmailAsync(defaultSubmitter.Email); if (user == null) { await userManager.CreateAsync(defaultSubmitter, demoPassword); await userManager.AddToRoleAsync(defaultSubmitter, Roles.Submitter.ToString()); await userManager.AddToRoleAsync(defaultSubmitter, Roles.Demo.ToString()); } } catch (Exception ex) { Debug.WriteLine("************ ERROR ************"); Debug.WriteLine("Error Seeding Default Submitter User."); Debug.WriteLine("ex.Message"); Debug.WriteLine("*******************************"); } #endregion //James Gunn #region Demo Seed New User defaultNewUser = new BTUser { UserName = "******", Email = "*****@*****.**", FirstName = "James", LastName = "Gunn", FileName = "james.jpg", FileData = await imageService.AssignAvatarAsync("james.jpg"), EmailConfirmed = true }; try { var user = await userManager.FindByEmailAsync(defaultNewUser.Email); if (user == null) { await userManager.CreateAsync(defaultNewUser, demoPassword); await userManager.AddToRoleAsync(defaultNewUser, Roles.NewUser.ToString()); await userManager.AddToRoleAsync(defaultNewUser, Roles.Demo.ToString()); } } catch (Exception ex) { Debug.WriteLine("************ ERROR ************"); Debug.WriteLine("Error Seeding Default New User."); Debug.WriteLine("ex.Message"); Debug.WriteLine("*******************************"); } #endregion }
public async Task <IActionResult> OnPostAsync(string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/"); ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList(); if (ModelState.IsValid) { var user = new BTUser { FirstName = Input.FirstName, LastName = Input.LastName, UserName = Input.Email, Email = Input.Email, FileName = "defaultavatar.jpg", FileData = await _imageService.AssignAvatarAsync("defaultavatar.jpg") }; if (Input.FormFile != null) { user.FileName = Input.FormFile.FileName; user.FileData = _imageService.ConvertFileToByteArray(Input.FormFile); } ; var result = await _userManager.CreateAsync(user, Input.Password); if (result.Succeeded) { _logger.LogInformation("User created a new account with password."); await _userManager.AddToRoleAsync(user, Roles.NewUser.ToString()); var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code)); var callbackUrl = Url.Page( "/Account/ConfirmEmail", pageHandler: null, values: new { area = "Identity", userId = user.Id, code = code, returnUrl = returnUrl }, protocol: Request.Scheme); await _emailSender.SendEmailAsync(Input.Email, "Confirm your email", $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>."); if (_userManager.Options.SignIn.RequireConfirmedAccount) { TempData["ConfirmEmail"] = "Please verify your email"; return(RedirectToPage("/Account/Login", new { area = "Identity" })); } else { await _signInManager.SignInAsync(user, isPersistent : false); return(LocalRedirect(returnUrl)); } } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } // If we got this far, something failed, redisplay form return(Page()); }