Ejemplo n.º 1
0
 /// <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;
     }));
 }
Ejemplo n.º 2
0
        /// <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));
        }
Ejemplo n.º 3
0
        /// <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, $"删除用户成功!"));;
        }