// GET: /UserAdmin/Create public async Task <ActionResult> Create() { CreateUserViewModels user = new CreateUserViewModels(); ViewBag.RolesList = new SelectList(await RoleManager.Roles.ToListAsync(), "Name", "Name", "Admin"); return(View(user)); }
public async Task <ActionResult> Create(CreateUserViewModels userViewModels, params string[] selectedRoles) { if (ModelState.IsValid) { var appDbContext = HttpContext.GetOwinContext().Get <ApplicationDbContext>(); using (var transaction = appDbContext.Database.BeginTransaction()) { try { var user = new BusUser { UserName = userViewModels.UserName, Email = userViewModels.Email, PasswordHash = userViewModels.Password, PhoneNumber = userViewModels.PhoneNumber }; var adminresult = await UserManager.CreateAsync(user, userViewModels.Password); if (adminresult.Succeeded) { if (selectedRoles != null) { var result = await UserManager.AddToRolesAsync(user.Id, selectedRoles); if (!result.Succeeded) { ModelState.AddModelError("", "Failed to add roles"); ViewBag.RolesList = new SelectList(await RoleManager.Roles.ToListAsync(), "Name", "Name", "Admin"); transaction.Rollback(); return(View()); } } } else { ModelState.AddModelError("", "UserName is exists"); ViewBag.RolesList = new SelectList(RoleManager.Roles, "Name", "Name", "Admin"); transaction.Rollback(); return(View()); } transaction.Commit(); return(RedirectToAction("Index")); } catch (Exception) { ModelState.AddModelError("", "Have an error when created user"); transaction.Rollback(); return(null); } } } ViewBag.RolesList = new SelectList(RoleManager.Roles, "Name", "Name", "Admin"); return(View()); }
public async Task <ActionResult> Create(CreateUserViewModels model) { if (ModelState.IsValid) { User user = new User { UserName = model.UserName.ToUpper(), Email = model.Email }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { return(RedirectToAction("Index")); } AddErrors(result, user); } return(View(model)); }