Exemple #1
0
        public async Task <Result> ModifyEmail([FromBody] AccountModifyEmailRequestDto dto)
        {
            //验证请求数据合法性
            var result = dto.Valid();

            if (!result.Success)
            {
                return(result);
            }

            int id           = HttpContext.User.UserId();
            var service      = this._serviceProvider.GetRequiredService <AccountEmailChangeService>();
            var modifyResult = service.Modify(id, dto.Email);

            if (!modifyResult.Success)
            {
                return(modifyResult);
            }

            //数据持久化
            _operateLog.Record(ASFPermissions.AccountModifyEmail, new { uid = id, data = dto }, "Success");  //记录日志
            await _accountRepository.ModifyAsync(modifyResult.Data);

            await _unitOfWork.CommitAsync(autoRollback : true);

            return(Result.ReSuccess());
        }
        public virtual async Task <Result> ModifyEmail(AccountModifyEmailRequestDto dto)
        {
            //验证请求数据合法性
            var result = dto.Valid();

            if (!result.Success)
            {
                return(result);
            }

            int id           = 0;
            var service      = IocManager.Instance.Resolve <AccountEmailChangeService>();
            var modifyResult = service.Modify(id, dto.Email);

            if (!modifyResult.Success)
            {
                return(modifyResult);
            }

            //数据持久化
            _operateLog.Record(ASFPermissions.AccountModifyEmail, new { uid = id, data = dto }, "Success");  //记录日志
            await _accountRepository.ModifyAsync(modifyResult.Data);

            return(Result.ReSuccess());
        }
Exemple #3
0
        public async Task <Result> ModifyEmail([FromBody] AccountModifyEmailRequestDto dto)
        {
            var  server    = _serviceProvider.GetRequiredService <AccountService>();
            long?tenancyId = HttpContext.User.IsSuperRole() ? null : Convert.ToInt64(HttpContext.User.TenancyId());
            var  result    = await server.Get(dto.Id, tenancyId);

            if (!result.Success)
            {
                return(Result.ReFailure(result.Message, result.Status));
            }
            // 除总超级管理员之外其他不允许操作其他租户信息
            if (tenancyId != null && result.Data.TenancyId != tenancyId)
            {
                return(Result.ReFailure(ResultCodes.TenancyMatchExist));
            }
            if (!result.Data.Email.Equals(dto.OldEmail))
            {
                return(Result.ReFailure(ResultCodes.AccountOldEmailError));
            }
            result.Data.SetEmail(dto.NewEmail);
            result.Data.CreateId = Convert.ToInt64(HttpContext.User.UserId());
            return(await server.Modify(result.Data));
        }