/// <summary> /// 删除用户信息信息 /// </summary> /// <param name="ids">要删除的用户信息编号</param> /// <returns>业务操作结果</returns> public Task <OperationResult> DeleteUsers(params int[] ids) { return(UserRepository.DeleteAsync(ids, null, async entity => { await UserExtendRepository.DeleteAsync(entity.UserExtend); return entity; })); }
/// <summary> /// 删除用户信息信息 /// </summary> /// <param name="ids">要删除的用户信息编号</param> /// <returns>业务操作结果</returns> public async Task <OperationResult> DeleteUsers(params int[] ids) { OperationResult result = UserRepository.Delete(ids, null, entity => { //先删除所有用户相关信息 UserExtendRepository.Delete(entity.Extend); return(entity); }); return(await Task.FromResult(result)); }
/// <summary> /// 删除用户信息信息 /// </summary> /// <param name="ids">要删除的用户信息编号</param> /// <returns>业务操作结果</returns> public async Task <OperationResult> DeleteUsers(params int[] ids) { UserRepository.UnitOfWork.BeginTransaction(); List <int> mapIds = new List <int>(); foreach (var id in ids) { List <int> subIds = UserRoleMapRepository.TrackEntities.Where(x => x.User.Id == id).Select(x => x.Id).ToList(); if (subIds.Any()) { mapIds.AddRange(subIds); } } var result = await UserRoleMapRepository.DeleteAsync(mapIds); if (result.ResultType == OperationResultType.Error) { return(result); } foreach (var id in ids) { User user = UserManager.Users.Where(x => x.Id == id).FirstOrDefault(); //var deleteResult = await UserManager.DeleteAsync(user); //if (deleteResult.ToOperationResult().ResultType == OperationResultType.Error) int deleteExtendCount = await UserExtendRepository.DeleteDirectAsync(user.Extend.Id); if (deleteExtendCount < 0) { return(new OperationResult(OperationResultType.Error, $"删除用户{user.UserName}扩展信息失败!")); } int count = await UserRepository.DeleteDirectAsync(user.Id); if (count <= 0) { return(new OperationResult(OperationResultType.Error, $"删除用户{user.UserName}信息失败!")); } } UserRepository.UnitOfWork.Commit(); return(new OperationResult(OperationResultType.Success, $"删除用户成功!"));; }