Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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);
        }