Beispiel #1
0
        /// <summary>
        /// 获取用户管理的组织机构
        /// </summary>
        /// <param name="id">当前操作的用户主键</param>
        /// <returns></returns>
        public List <UserOrganizeMapOutDto> GetUserMaptoOrganize(Guid id)
        {
            List <UserOrganizeMapOutDto> listIn = new List <UserOrganizeMapOutDto>();
            var result = UserOrganizeMapRepository.GetInclude(m => m.OrganizeOne).Where(m => m.UserLogin_Id == id).ToList();

            foreach (var i in result)
            {
                listIn.Add(i.MapTo <UserOrganizeMapOutDto>());
            }
            return(listIn);
        }
Beispiel #2
0
        /// <summary>
        /// 添加用户登录信息
        /// </summary>
        /// <param name="inputDtos">要添加的用户登录信息Dtos集合</param>
        /// <param name="cacheUser">当前操作用户的缓存</param>
        /// <returns>业务操作结果</returns>
        public async Task <OperationResult> AddUserLogin(CacheUser cacheUser, params UserLoginInputDto[] inputDtos)
        {
            try
            {
                if (inputDtos.Length <= 0)
                {
                    return(new OperationResult(OperationResultType.Error, "添加用户的数组不存在存数!"));
                }
                else
                {
                    List <string> names = new List <string>();
                    UserLoginRepository.UnitOfWork.BeginTransaction();
                    foreach (UserLoginInputDto dto in inputDtos)
                    {
                        if (cacheUser.Level >= dto.Level)
                        {
                            return(new OperationResult(OperationResultType.ValidError, $"用户:{dto.UserName}权限等级参数设置错误"));
                        }
                        UserLogin value = dto.MapTo <UserLogin>();
                        value.SecretKey = new Random().NextLetterString(16);
                        value.Password  = value.Password.AESEncrypt128(key: value.SecretKey);
                        value.UserMany.Add(new User
                        {
                            CreatedTime     = DateTime.Now,
                            CreatorUserId   = cacheUser.UserName,
                            LastUpdatedTime = DateTime.Now,
                            UserLoginOne    = value,
                        });
                        await UserLoginRepository.InsertAsync(value);

                        if (value.Level == 2)
                        {
                            int count = UserOrganizeMapRepository.CheckExists(m => m.Organize_Id == value.Organize_Id && m.UserLogin_Id == value.Id) ? 0 : UserOrganizeMapRepository.Insert(new UserOrganizeMap {
                                Organize_Id = value.Organize_Id, UserLogin_Id = value.Id
                            });
                        }
                        names.Add(value.UserName);
                    }
                    UserLoginRepository.UnitOfWork.Commit();
                    if (names.Count == 0)
                    {
                        return(new OperationResult(OperationResultType.NoChanged, "未能添加任何用户"));
                    }
                    else
                    {
                        return(new OperationResult(OperationResultType.Success, "用户:{0}创建成功".FormatWith(names.ExpandAndToString())));
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception($"id:{ex.InnerException.Message}");
            }
        }