public async Task <JsonResult> NewUser(NewUserViewModel model) { string pss = CreateRandomPassword(); sendmail(model.Name, pss); JsonResult result = new JsonResult(); result.JsonRequestBehavior = JsonRequestBehavior.AllowGet; if (!ModelState.IsValid) { var Errors = new List <string>(); foreach (ModelState modelState in ViewData.ModelState.Values) { foreach (ModelError error in modelState.Errors) { Errors.Add(error.ErrorMessage.ToString()); } } result.Data = new { Success = false, Errors = Errors }; return(result); } else { try { var user = new AssessmentToolUser { UserName = model.Name, Email = model.Email, RegisteredOn = DateTime.Now }; result.Data = new { Success = await UserManager.CreateAsync(user, pss) }; } catch (Exception ex) { result.Data = new { Success = false, Errors = ex.InnerException.Message }; } } return(result); }
public async Task <ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl) { if (User.Identity.IsAuthenticated) { return(RedirectToAction("Index", "Manage")); } if (ModelState.IsValid) { // Get the information about the user from the external login provider var info = await AuthenticationManager.GetExternalLoginInfoAsync(); if (info == null) { return(View("ExternalLoginFailure")); } var user = new AssessmentToolUser { UserName = model.Username, Email = model.Email, RegisteredOn = DateTime.Now }; var result = await UserManager.CreateAsync(user); if (result.Succeeded) { UserManager.AddToRole(user.Id, Variables.UserRole); result = await UserManager.AddLoginAsync(user.Id, info.Login); if (result.Succeeded) { await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); return(RedirectToLocal(returnUrl)); } } AddErrors(result); } ViewBag.ReturnUrl = returnUrl; return(View(model)); }
public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { var user = new AssessmentToolUser { UserName = model.Username, Email = model.Email, RegisteredOn = DateTime.Now }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { UserManager.AddToRole(user.Id, Variables.UserRole); await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); return(RedirectToAction("Index", "Home")); } AddErrors(result); } return(View("Register", "_LayoutEmpty", model)); }
public void SeedUsers(AssessmentTool.Data.AssessmentToolContext context) { var usersStore = new UserStore <AssessmentToolUser>(context); var usersManager = new UserManager <AssessmentToolUser>(usersStore); AssessmentToolUser admin = new AssessmentToolUser(); admin.Email = "*****@*****.**"; admin.UserName = "******"; var password = "******"; if (usersManager.FindByEmail(admin.Email) == null) { var result = usersManager.Create(admin, password); if (result.Succeeded) { //add necessary roles to admin usersManager.AddToRole(admin.Id, "Administrator"); usersManager.AddToRole(admin.Id, "User"); } } }