Ejemplo n.º 1
0
        /// <summary>
        /// 修改用户昵称和头像
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="nickName"></param>
        /// <param name="headPic"></param>
        /// <returns></returns>
        public async Task <OperationResult> EditUserInfo(int userId, string nickName, string headPic)
        {
            UserInfoRepo.UnitOfWork.TransactionEnabled = true;
            var info = UserInfoRepo.GetByKey(userId);

            info.HeadPic = headPic;
            await UserInfoRepo.UpdateAsync(info);

            var sys = info.SysUser;

            sys.NickName = nickName;
            var result = await SysUserRepo.UpdateAsync(sys);

            await UserInfoRepo.UnitOfWork.SaveChangesAsync();

            return(new OperationResult(OperationResultType.Success, "修改成功"));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 更改用户名
        /// </summary>
        /// <param name="userName">原用户名</param>
        /// <param name="newUserName">新用户名</param>
        /// <param name="password">登录密码</param>
        /// <param name="validateCode">验证码</param>
        /// <returns>业务操作结果</returns>
        public async Task <OperationResult> ChangeUserName(string userName, string newUserName, string password, string validateCode)
        {
            userName.CheckNotNullOrEmpty("userName");
            newUserName.CheckNotNullOrEmpty("newUserName");
            validateCode.CheckNotNullOrEmpty("validateCode");
            //验证码
            var severCode = GetValidateCode(newUserName, CodeType.更换手机);

            if (severCode == null || severCode.Code != validateCode)
            {
                return(await Task.FromResult(new OperationResult(OperationResultType.ValidError, "验证码错误")));
            }

            var sUser = await UserManager.FindByNameAsync(userName);

            if (sUser == null)
            {
                return(new OperationResult(OperationResultType.NoChanged, "用户不存在"));
            }

            if (!await UserManager.CheckPasswordAsync(sUser, password))
            {
                return(new OperationResult(OperationResultType.ValidError, "登录密码错误", null));
            }

            if (SysUserRepo.CheckExists(p => p.UserName == newUserName, sUser.Id))
            {
                return(new OperationResult(OperationResultType.NoChanged, "该用户名已存在"));
            }

            sUser.UserName = userName;
            if (severCode.ValidateType == ValidateType.手机)
            {
                sUser.PhoneNumber          = newUserName;
                sUser.UserName             = newUserName;
                sUser.PhoneNumberConfirmed = true;
            }
            else
            {
                sUser.Email          = newUserName;
                sUser.EmailConfirmed = true;
            }
            await SysUserRepo.UpdateAsync(sUser);

            return(new OperationResult(OperationResultType.Success, "更改成功"));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 更改手机号
        /// </summary>
        /// <param name="phoneNo">原手机号</param>
        /// <param name="newPhoneNo">新手机号</param>
        /// <param name="password">登录密码</param>
        /// <param name="validateCode">验证码</param>
        /// <returns>业务操作结果</returns>
        public async Task <OperationResult> ChangePhoneNo(string phoneNo, string newPhoneNo, string password, string validateCode)
        {
            phoneNo.CheckNotNullOrEmpty("phoneNo");
            newPhoneNo.CheckNotNullOrEmpty("newPhoneNo");
            validateCode.CheckNotNullOrEmpty("validateCode");
            //验证码
            var severCode = GetValidateCode(newPhoneNo, CodeType.更换手机);

            if (severCode != validateCode)
            {
                return(await Task.FromResult(new OperationResult(OperationResultType.ValidError, "验证码错误")));
            }

            var sUser = await UserManager.FindByNameAsync(phoneNo);

            if (sUser == null)
            {
                return(new OperationResult(OperationResultType.NoChanged, "用户不存在"));
            }

            if (!await UserManager.CheckPasswordAsync(sUser, password))
            {
                return(new OperationResult(OperationResultType.ValidError, "登录密码错误", null));
            }

            if (SysUserRepo.CheckExists(p => p.UserName == newPhoneNo || p.PhoneNumber == newPhoneNo, sUser.Id))
            {
                return(new OperationResult(OperationResultType.NoChanged, "该手机号已注册"));
            }

            sUser.UserName    = newPhoneNo;
            sUser.PhoneNumber = newPhoneNo;
            await SysUserRepo.UpdateAsync(sUser);

            return(new OperationResult(OperationResultType.Success, "手机号更改成功"));
        }