public virtual ActionResult AddUser() { var model = new AddUserFormModel() { AvailableRoles = UserRole.GetRoles().Select(r => new SelectListItem { Text = r.Value, Value = r.Key }).ToArray() }; return(PartialView(MVC.User.Views.AddUser, model, "NewUser")); }
public async Task <Guid> AddUserAsync(User user, AddUserFormModel userForm) { try { if (_context.Users.Any(c => c.Username.ToLower() == userForm.Username.ToLower())) { throw new StockAssistanceProviderGlobalException(UsersServiceErrors.UserExistError); } var groupRole = await _context.GroupAuthRoles.Where(c => c.GroupAuthId == userForm.GroupAuthId).ToListAsync(); if (groupRole == null) { throw new StockAssistanceProviderGlobalException(UsersServiceErrors.GroupNotFoundError); } var userReg = new User() { GroupAuthId = userForm.GroupAuthId, FirstName = userForm.FirstName, Description = userForm.Description, IsActive = userForm.IsActive, UserType = userForm.UserType, LastName = userForm.LastName, AvailableUserType = userForm.AvailableUserType, Password = _securityService.GetSha256Hash(userForm.Password), SerialNumber = Guid.NewGuid().ToString("N"), Location = userForm.Location, PhoneNumber = userForm.PhoneNumber, Username = userForm.Username.ToLower() }; _context.Users.Add(userReg); _context.UserRoles.AddRange(groupRole.Select(c => c.RoleId).ToList().Select(roleId => new UserRole { User = userReg, RoleId = roleId })); _context.SaveChanges(); return(userReg.Id); } catch (Exception ex) { throw new StockAssistanceProviderGlobalException(UsersServiceErrors.AddUserError, ex); } }
public virtual ActionResult AddUser([Bind(Prefix = "NewUser")] AddUserFormModel model) { if (ModelState.IsValid) { try { if (this.db.Get <User>().Any(u => u.UserName.Equals(model.UserName, StringComparison.InvariantCultureIgnoreCase))) { ModelState.AddModelError("NewUser.UserName", "A user with that user name already exists"); } else { var newUser = Domain.User.RegisterNewUser(db, model.UserName, Domain.User.GeneratePassword(), model.EmailAddress, model.DisplayName, model.Enabled, UserRole.GetRoles().Where(r => model.AssignedRoles.Contains(r.Key)).Select(r => r.Key).ToArray()); newUser.ExpirePassword(); db.SaveChanges(); } } catch (Exception ex) { ModelState.AddModelError("NewUser", ex.Message); } } if (!ModelState.IsValid) { model.AvailableRoles = UserRole.GetRoles().Select(r => new SelectListItem { Text = r.Value, Value = r.Key, Selected = model.AssignedRoles.Contains(r.Key) }).ToArray(); } return(ModelState.IsValid ? Json(new { success = true }) : Json(new { success = false, formWithErrorMessages = this.RenderPartialViewToString(MVC.User.Views.AddUser, model, "NewUser") })); }
public async Task <IActionResult> AddUser([FromBody] AddUserFormModel userForm) { var user = await _usersService.AddUserAsync(HttpContext.GetUser(), userForm); return(Ok(GetRequestResult(user))); }