Esempio n. 1
0
        public async Task <IActionResult> UpdateUser(int id, [FromBody] AddOrUpdateUserInput input)
        {
            await _userService.AddOrUpdateUser(id, input);

            return(Ok(ResponseBody.From("修改成功")));
        }
Esempio n. 2
0
        public async Task AddOrUpdateUser(int?id, AddOrUpdateUserInput input)
        {
            if (id.HasValue)
            {
                var checkUserName = _userRepository.GetAll().Where(t => t.Id != id && t.UserName == input.UserName);
                if (checkUserName.Any())
                {
                    throw new BusinessException($"用户名已存在");
                }
                var user = _userRepository.GetAll().Where(t => t.Id == id).FirstOrDefault();
                if (user == null)
                {
                    throw new BusinessException($"找不到待更新的数据 ID:{id}");
                }

                user.Name     = input.Name;
                user.UserName = input.UserName;
                user.Status   = input.Status;
                user.Email    = input.Email;

                await _userRepository.UpdateAsync(user);

                _userRoleRepository.Delete(t => t.UserId == id);
                foreach (var roleId in input.Roles)
                {
                    var userRole = new UserRole {
                        UserId = (int)id,
                        RoleId = roleId
                    };
                    _userRoleRepository.Insert(userRole);
                }
            }
            else
            {
                var checkUserName = _userRepository.GetAll().Where(t => t.UserName == input.UserName);
                if (checkUserName.Any())
                {
                    throw new BusinessException($"用户名已存在");
                }
                var user = new User {
                    Name       = input.Name,
                    UserName   = input.UserName,
                    Status     = input.Status,
                    Email      = input.Email,
                    IsMaster   = false,
                    Password   = MD5Helper.MD5Encrypt32("123456"),//初始密码
                    CreateTime = DateTime.Now,
                };
                var newId = await _userRepository.InsertAndGetIdAsync(user);

                if (newId > 0)
                {
                    foreach (var roleId in input.Roles)
                    {
                        var userRole = new UserRole {
                            UserId = newId,
                            RoleId = roleId
                        };
                        _userRoleRepository.Insert(userRole);
                    }
                }
            }
        }
Esempio n. 3
0
        public async Task <IActionResult> AddUser([FromBody] AddOrUpdateUserInput input)
        {
            await _userService.AddOrUpdateUser(null, input);

            return(Ok(ResponseBody.From("保存成功")));
        }