private CreateUserViewModel GetDefaultCreateUserModel() { var model = new CreateUserViewModel { Username = string.Empty, Password = string.Empty, ConfirmPassword = string.Empty, Email = string.Empty, FirstName = string.Empty, LastName = string.Empty, BirthDate = DateTime.Now, SelectedRole = string.Empty, RolesAvailable = GetUserRolesAvailable() }; return model; }
public async Task<ActionResult> Create(CreateUserViewModel model) { try { if (!ModelState.IsValid) { ViewBag.ErrorMessage = "Something went wrong. Please try again."; return View(GetDefaultCreateUserModel()); } var user = new BlogUser { UserName = model.Username, Email = model.Email }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { var roleResult = await UserManager.AddToRolesAsync(user.Id, new[] { model.SelectedRole }); if (!roleResult.Succeeded) { AddErrors(roleResult); return View(GetDefaultCreateUserModel()); } if (model.IdentityOnly) return RedirectToAction("Index", "Users"); var blogUser = await _userHelper.AddBlogUser(model); if (blogUser.Error == null) return RedirectToAction("Index", "Users"); ViewBag.UserCreationError = blogUser.Error.Message; return View(model); } AddErrors(result); return View(GetDefaultCreateUserModel()); } catch (Exception ex) { _errorSignaler.SignalFromCurrentContext(ex); ViewBag.ErrorMessage = ex.Message; return View(GetDefaultCreateUserModel()); } }