public async Task <IActionResult> UpdateUser(int id, [FromBody] AddOrUpdateUserInput input) { await _userService.AddOrUpdateUser(id, input); return(Ok(ResponseBody.From("修改成功"))); }
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); } } } }
public async Task <IActionResult> AddUser([FromBody] AddOrUpdateUserInput input) { await _userService.AddOrUpdateUser(null, input); return(Ok(ResponseBody.From("保存成功"))); }