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()); }
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)); }