public async Task <AjaxResponse> ApplyBusinessUser(ApplyBusinessUserApiInput input)
 {
     if (string.IsNullOrWhiteSpace(input.Name))
     {
         return(new AjaxResponse(new ResultDto {
             Code = 10, Message = "公司名称不能为空。"
         }));
     }
     if (string.IsNullOrWhiteSpace(input.Linkman))
     {
         return(new AjaxResponse(new ResultDto {
             Code = 10, Message = "联系人不能为空。"
         }));
     }
     if (string.IsNullOrWhiteSpace(input.LinkmanMobile))
     {
         return(new AjaxResponse(new ResultDto {
             Code = 10, Message = "联系电话不能为空。"
         }));
     }
     if (!RegVerifyHelper.IsMobile(input.LinkmanMobile))
     {
         return(new AjaxResponse(new ResultDto {
             Code = 10, Message = "联系电话必须为手机号。"
         }));
     }
     return(new AjaxResponse(new ResultDto {
         Code = 0, Message = "申请成功!请等待审核,审核通过后会有工作人员与您联系。"
     }));
 }
        public async Task <ResultDto> EditUser(UserDto input)
        {
            var currentUser = await _sessionManager.GetCurrentUser(AbpSession.UserId);

            if (currentUser == null)
            {
                return(EnumResultCode.SessionInvalid.ToResultDto());
            }
            if (string.IsNullOrWhiteSpace(input.UserName))
            {
                return(EnumResultCode.UserNameError.ToResultDto());
            }
            if (!string.IsNullOrWhiteSpace(input.Pwd) && (input.Pwd.Length < 6 || input.Pwd.Length > 18))
            {
                return(EnumResultCode.PasswordError.ToResultDto());
            }
            if (string.IsNullOrWhiteSpace(input.Name))
            {
                return(EnumResultCode.NameError.ToResultDto());
            }
            if (string.IsNullOrWhiteSpace(input.Mobile) || !RegVerifyHelper.IsMobile(input.Mobile))
            {
                return(EnumResultCode.MobileError.ToResultDto());
            }
            if (!string.IsNullOrWhiteSpace(input.EmailAddress) && !RegVerifyHelper.IsEmailAddress(input.EmailAddress))
            {
                return(EnumResultCode.EmailAddressError.ToResultDto());
            }
            var userNameCount = await _userRepository.CountAsync(o => o.Id != input.Id && o.UserName == input.UserName);

            if (userNameCount > 0)
            {
                return(EnumResultCode.UserNameExists.ToResultDto());
            }
            var user = await _userRepository.FirstOrDefaultAsync(o => o.Id == input.Id);

            if (user == null)
            {
                return(EnumResultCode.UserNotExists.ToResultDto());
            }
            user.UserName = input.UserName;
            if (!string.IsNullOrWhiteSpace(input.Pwd))
            {
                user.Password = new PasswordHasher().HashPassword(input.Pwd);
            }
            user.Name             = input.Name;
            user.Mobile           = input.Mobile;
            user.UserType         = input.UserType;
            user.EmailAddress     = input.EmailAddress;
            user.PhoneNumber      = input.Mobile;
            user.IsEmailConfirmed = !string.IsNullOrWhiteSpace(input.EmailAddress);
            user.LastModifierUser = currentUser;
            var editUser = await _userRepository.UpdateAsync(user);

            return(editUser.ResultTo <UserDto>());
        }
        public async Task <ResultDto> AddUser(UserDto input)
        {
            var currentUser = await _sessionManager.GetCurrentUser(AbpSession.UserId);

            if (currentUser == null)
            {
                return(EnumResultCode.SessionInvalid.ToResultDto());
            }
            if (string.IsNullOrWhiteSpace(input.UserName))
            {
                return(EnumResultCode.UserNameError.ToResultDto());
            }
            if (string.IsNullOrWhiteSpace(input.Pwd) || input.Pwd.Length < 6 || input.Pwd.Length > 18)
            {
                return(EnumResultCode.PasswordError.ToResultDto());
            }
            if (string.IsNullOrWhiteSpace(input.Name))
            {
                return(EnumResultCode.NameError.ToResultDto());
            }
            if (string.IsNullOrWhiteSpace(input.Mobile) || !RegVerifyHelper.IsMobile(input.Mobile))
            {
                return(EnumResultCode.MobileError.ToResultDto());
            }
            if (!string.IsNullOrWhiteSpace(input.EmailAddress) && !RegVerifyHelper.IsEmailAddress(input.EmailAddress))
            {
                return(EnumResultCode.EmailAddressError.ToResultDto());
            }
            var userNameCount = await _userRepository.CountAsync(o => o.UserName == input.UserName);

            if (userNameCount > 0)
            {
                return(EnumResultCode.UserNameExists.ToResultDto());
            }
            var user = new User();

            user.UserName         = input.UserName;
            user.Password         = new PasswordHasher().HashPassword(input.Pwd);
            user.Name             = input.Name;
            user.Mobile           = input.Mobile;
            user.UserType         = input.UserType;
            user.EmailAddress     = input.EmailAddress;
            user.IsActive         = input.IsActive;
            user.PhoneNumber      = input.Mobile;
            user.IsEmailConfirmed = !string.IsNullOrWhiteSpace(input.EmailAddress);
            user.CreatorUser      = currentUser;
            var addUser = await _userRepository.InsertAsync(user);

            return(addUser.ResultTo <UserDto>());
        }