public ActionResult Create(CreateUserModel userModel) { if (ModelState.IsValid) { try { User user = userModel.ToEntity(); user.PasswordSalt = Util.RandomPasswordSalt(); user.Password = Util.ComputeMD5Hash(user.Password + user.PasswordSalt); user.Created = DateTime.Now; user.Modified = user.Created; userService.AddUser(user); if (userModel.RoleId != null) { foreach (int roleId in userModel.RoleId) { authorService.AddUserRole(user.Id, roleId); } } return(RedirectToAction("Index")); } catch (Exception e) { ErrorNotification(e); } } else { AddModelStateErrors(); } IEnumerable <Role> roles = authorService.GetAllRoles(); userModel.Roles = new MultiSelectList(roles, "Id", "Name"); Title = "Thêm mới tài khoản hệ thống"; return(View(userModel)); }
public OperationResult <UserModel> CreateUser(CreateUserModel createUserModel) { var result = ValidateUserData(createUserModel); if (!result.IsSuccess) { return(result); } var userEntity = createUserModel.ToEntity(); var newUser = _userRepository.Insert(userEntity); _userRepository.SaveChanges(); _userRoleRepository.AssignRolesToUser(newUser.ID, new List <int>() { createUserModel.RoleId }); var newUserModel = newUser.ToModel(); _userRoleRepository.FetchRoles(newUserModel); if (createUserModel.OrganizationId != null) { var organizationId = createUserModel.OrganizationId.Value; var organizationRoleUpdateModel = new OrganizationUserRoleUpdateModel() { OrganizationId = organizationId, Users = new List <OrganizationUserUpdateModel>() { new OrganizationUserUpdateModel() { UserId = newUserModel.ID, OrganizationRoleIds = createUserModel.OrganizationRoleIds } } }; _organizationUserRepository.AssignUserToOrganization(organizationRoleUpdateModel); } result.Data = newUserModel; return(result); }