diff --git a/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/AuditLogs/AuditLogAppService.cs b/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/AuditLogs/AuditLogAppService.cs index e25f4797..12f48e9e 100644 --- a/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/AuditLogs/AuditLogAppService.cs +++ b/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/AuditLogs/AuditLogAppService.cs @@ -15,7 +15,7 @@ namespace Lion.AbpPro.BasicManagement.AuditLogs /// 分页查询审计日志 /// [Authorize(Policy = BasicManagementPermissions.SystemManagement.AuditLog)] - public async Task> GetListAsync(PagingAuditLogInput input) + public virtual async Task> GetListAsync(PagingAuditLogInput input) { var totalCount = await _auditLogRepository.GetCountAsync( input.StartTime, diff --git a/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/OrganizationUnits/OrganizationUnitAppService.cs b/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/OrganizationUnits/OrganizationUnitAppService.cs index 781ef8d1..bbfe483f 100644 --- a/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/OrganizationUnits/OrganizationUnitAppService.cs +++ b/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/OrganizationUnits/OrganizationUnitAppService.cs @@ -17,7 +17,7 @@ public class OrganizationUnitAppService : BasicManagementAppService, IOrganizati _organizationUnitRepository = organizationUnitRepository; } - public async Task> GetTreeAsync() + public virtual async Task> GetTreeAsync() { var organizationUnits = await _organizationUnitRepository.GetListAsync(); var organizationUnitDtos = ObjectMapper.Map, List>(organizationUnits); @@ -25,7 +25,7 @@ public class OrganizationUnitAppService : BasicManagementAppService, IOrganizati } [Authorize(BasicManagementPermissions.SystemManagement.OrganizationUnitManagement.Create)] - public async Task CreateAsync(CreateOrganizationUnitInput input) + public virtual async Task CreateAsync(CreateOrganizationUnitInput input) { var entity = new OrganizationUnit ( @@ -38,13 +38,13 @@ public class OrganizationUnitAppService : BasicManagementAppService, IOrganizati } [Authorize(BasicManagementPermissions.SystemManagement.OrganizationUnitManagement.Delete)] - public Task DeleteAsync(IdInput input) + public virtual Task DeleteAsync(IdInput input) { return _organizationUnitManager.DeleteAsync(input.Id); } [Authorize(BasicManagementPermissions.SystemManagement.OrganizationUnitManagement.Update)] - public async Task UpdateAsync(UpdateOrganizationUnitInput input) + public virtual async Task UpdateAsync(UpdateOrganizationUnitInput input) { var entity = await _organizationUnitRepository.FindAsync(input.Id); if (entity != null) @@ -55,7 +55,7 @@ public class OrganizationUnitAppService : BasicManagementAppService, IOrganizati } [Authorize(BasicManagementPermissions.SystemManagement.OrganizationUnitManagement.Create)] - public async Task AddRoleToOrganizationUnitAsync(AddRoleToOrganizationUnitInput input) + public virtual async Task AddRoleToOrganizationUnitAsync(AddRoleToOrganizationUnitInput input) { foreach (var roleId in input.RoleId) { @@ -64,13 +64,13 @@ public class OrganizationUnitAppService : BasicManagementAppService, IOrganizati } [Authorize(BasicManagementPermissions.SystemManagement.OrganizationUnitManagement.Delete)] - public async Task RemoveRoleFromOrganizationUnitAsync(RemoveRoleToOrganizationUnitInput input) + public virtual async Task RemoveRoleFromOrganizationUnitAsync(RemoveRoleToOrganizationUnitInput input) { await _organizationUnitManager.RemoveRoleFromOrganizationUnitAsync(input.RoleId, input.OrganizationUnitId); } [Authorize(BasicManagementPermissions.SystemManagement.OrganizationUnitManagement.Create)] - public async Task AddUserToOrganizationUnitAsync(AddUserToOrganizationUnitInput input) + public virtual async Task AddUserToOrganizationUnitAsync(AddUserToOrganizationUnitInput input) { foreach (var userId in input.UserId) { @@ -79,12 +79,12 @@ public class OrganizationUnitAppService : BasicManagementAppService, IOrganizati } [Authorize(BasicManagementPermissions.SystemManagement.OrganizationUnitManagement.Delete)] - public async Task RemoveUserFromOrganizationUnitAsync(RemoveUserToOrganizationUnitInput input) + public virtual async Task RemoveUserFromOrganizationUnitAsync(RemoveUserToOrganizationUnitInput input) { await _identityUserManager.RemoveFromOrganizationUnitAsync(input.UserId, input.OrganizationUnitId); } - public async Task> GetUsersAsync(GetOrganizationUnitUserInput input) + public virtual async Task> GetUsersAsync(GetOrganizationUnitUserInput input) { var listResult = new List(); var organizationUnit = await _organizationUnitRepository.FindAsync(input.OrganizationUnitId); @@ -106,7 +106,7 @@ public class OrganizationUnitAppService : BasicManagementAppService, IOrganizati return new PagedResultDto(count, listResult); } - public async Task> GetUnAddUsersAsync(GetUnAddUserInput input) + public virtual async Task> GetUnAddUsersAsync(GetUnAddUserInput input) { var listResult = new List(); var organizationUnit = await _organizationUnitRepository.FindAsync(input.OrganizationUnitId); @@ -127,7 +127,7 @@ public class OrganizationUnitAppService : BasicManagementAppService, IOrganizati return new PagedResultDto(count, listResult); } - public async Task> GetRolesAsync(GetOrganizationUnitRoleInput input) + public virtual async Task> GetRolesAsync(GetOrganizationUnitRoleInput input) { var listResult = new List(); var organizationUnit = await _organizationUnitRepository.FindAsync(input.OrganizationUnitId); @@ -143,7 +143,7 @@ public class OrganizationUnitAppService : BasicManagementAppService, IOrganizati return new PagedResultDto(count, listResult); } - public async Task> GetUnAddRolessAsync(GetUnAddRoleInput input) + public virtual async Task> GetUnAddRolessAsync(GetUnAddRoleInput input) { var listResult = new List(); var organizationUnit = await _organizationUnitRepository.FindAsync(input.OrganizationUnitId); diff --git a/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Roles/RoleAppService.cs b/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Roles/RoleAppService.cs index 0bdcbcb3..cffa7cfa 100644 --- a/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Roles/RoleAppService.cs +++ b/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Roles/RoleAppService.cs @@ -20,7 +20,7 @@ public class RoleAppService : BasicManagementAppService, IRoleAppService /// 获取所有角色 /// - public async Task> AllListAsync() + public virtual async Task> AllListAsync() { List source = await _roleRepository.GetListAsync() @@ -34,7 +34,7 @@ public class RoleAppService : BasicManagementAppService, IRoleAppService /// /// /// - public async Task> ListAsync(PagingRoleListInput input) + public virtual async Task> ListAsync(PagingRoleListInput input) { var request = new GetIdentityRolesInput { @@ -58,7 +58,7 @@ public class RoleAppService : BasicManagementAppService, IRoleAppService /// /// [Authorize(IdentityPermissions.Roles.Create)] - public async Task CreateAsync(IdentityRoleCreateDto input) + public virtual async Task CreateAsync(IdentityRoleCreateDto input) { return await _identityRoleAppService.CreateAsync(input); } @@ -67,7 +67,7 @@ public class RoleAppService : BasicManagementAppService, IRoleAppService /// 更新角色 /// [Authorize(IdentityPermissions.Roles.Update)] - public async Task UpdateAsync(UpdateRoleInput input) + public virtual async Task UpdateAsync(UpdateRoleInput input) { return await _identityRoleAppService.UpdateAsync(input.RoleId, input.RoleInfo); } @@ -77,7 +77,7 @@ public class RoleAppService : BasicManagementAppService, IRoleAppService /// 删除角色 /// [Authorize(IdentityPermissions.Roles.Delete)] - public async Task DeleteAsync(IdInput input) + public virtual async Task DeleteAsync(IdInput input) { await _identityRoleAppService.DeleteAsync(input.Id); } diff --git a/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Roles/RolePermissionAppService.cs b/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Roles/RolePermissionAppService.cs index 07002776..c4c3e059 100644 --- a/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Roles/RolePermissionAppService.cs +++ b/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Roles/RolePermissionAppService.cs @@ -17,7 +17,7 @@ namespace Lion.AbpPro.BasicManagement.Roles /// /// 获取所有权限 /// - public async Task GetPermissionAsync(GetPermissionInput input) + public virtual async Task GetPermissionAsync(GetPermissionInput input) { var permissions = await _rolePermissionAppService.GetAsync(input.ProviderName, input.ProviderKey); return BuildTreeData(permissions.Groups); @@ -27,7 +27,7 @@ namespace Lion.AbpPro.BasicManagement.Roles /// 更新权限 /// [Authorize(IdentityPermissions.Roles.ManagePermissions)] - public async Task UpdatePermissionAsync(UpdateRolePermissionsInput input) + public virtual async Task UpdatePermissionAsync(UpdateRolePermissionsInput input) { await _rolePermissionAppService.UpdateAsync(input.ProviderName, input.ProviderKey, input.UpdatePermissionsDto); } diff --git a/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Settings/SettingAppService.cs b/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Settings/SettingAppService.cs index 1e968b59..35ed29db 100644 --- a/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Settings/SettingAppService.cs +++ b/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Settings/SettingAppService.cs @@ -20,7 +20,7 @@ namespace Lion.AbpPro.BasicManagement.Settings _factory = factory; } - public async Task> GetAsync() + public virtual async Task> GetAsync() { var allSettings = _settingDefinitionManager.GetAll().ToList(); var settings = allSettings @@ -56,7 +56,7 @@ namespace Lion.AbpPro.BasicManagement.Settings return await Task.FromResult(settingOutput); } - public async Task UpdateAsync(UpdateSettingInput input) + public virtual async Task UpdateAsync(UpdateSettingInput input) { foreach (var kv in input.Values) { diff --git a/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Tenants/VoloTenantAppService.cs b/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Tenants/VoloTenantAppService.cs index 2aa166c1..362967cc 100644 --- a/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Tenants/VoloTenantAppService.cs +++ b/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Tenants/VoloTenantAppService.cs @@ -15,13 +15,13 @@ namespace Lion.AbpPro.BasicManagement.Tenants } [AllowAnonymous] - public async Task FindTenantByNameAsync(FindTenantByNameInput input) + public virtual async Task FindTenantByNameAsync(FindTenantByNameInput input) { return await _abpTenantAppService.FindTenantByNameAsync(input.Name); } - public Task> ListAsync(PagingTenantInput input) + public virtual Task> ListAsync(PagingTenantInput input) { var request = new GetTenantsInput { @@ -31,13 +31,13 @@ namespace Lion.AbpPro.BasicManagement.Tenants } [Authorize(policy:TenantManagementPermissions.Tenants.Create)] - public Task CreateAsync(TenantCreateDto input) + public virtual Task CreateAsync(TenantCreateDto input) { return _tenantAppService.CreateAsync(input); } [Authorize(policy:TenantManagementPermissions.Tenants.Update)] - public Task UpdateAsync(UpdateTenantInput input) + public virtual Task UpdateAsync(UpdateTenantInput input) { var request = new TenantUpdateDto() { @@ -47,26 +47,26 @@ namespace Lion.AbpPro.BasicManagement.Tenants } [Authorize(policy:TenantManagementPermissions.Tenants.Delete)] - public Task DeleteAsync(IdInput input) + public virtual Task DeleteAsync(IdInput input) { return _tenantAppService.DeleteAsync(input.Id); } [Authorize(TenantManagementPermissions.Tenants.ManageConnectionStrings)] - public Task GetDefaultConnectionStringAsync(IdInput input) + public virtual Task GetDefaultConnectionStringAsync(IdInput input) { return _tenantAppService.GetDefaultConnectionStringAsync(input.Id); } [Authorize(TenantManagementPermissions.Tenants.ManageConnectionStrings)] - public Task UpdateDefaultConnectionStringAsync(UpdateConnectionStringInput input) + public virtual Task UpdateDefaultConnectionStringAsync(UpdateConnectionStringInput input) { return _tenantAppService.UpdateDefaultConnectionStringAsync(input.Id, input.ConnectionString); } [Authorize(TenantManagementPermissions.Tenants.ManageConnectionStrings)] - public Task DeleteDefaultConnectionStringAsync(IdInput input) + public virtual Task DeleteDefaultConnectionStringAsync(IdInput input) { return _tenantAppService.DeleteDefaultConnectionStringAsync(input.Id); } diff --git a/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Users/AccountAppService.cs b/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Users/AccountAppService.cs index 0176edf6..f3ac2705 100644 --- a/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Users/AccountAppService.cs +++ b/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Users/AccountAppService.cs @@ -26,7 +26,7 @@ namespace Lion.AbpPro.BasicManagement.Users } - public async Task LoginAsync(LoginInput input) + public virtual async Task LoginAsync(LoginInput input) { var result = await _signInManager.PasswordSignInAsync(input.Name, input.Password, false, true); diff --git a/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Users/UserAppService.cs b/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Users/UserAppService.cs index b19a2d33..d8d7c49d 100644 --- a/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Users/UserAppService.cs +++ b/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application/Users/UserAppService.cs @@ -35,7 +35,7 @@ namespace Lion.AbpPro.BasicManagement.Users /// /// 分页查询用户 /// - public async Task> ListAsync(PagingUserListInput input) + public virtual async Task> ListAsync(PagingUserListInput input) { var request = new GetIdentityUsersInput { @@ -57,7 +57,7 @@ namespace Lion.AbpPro.BasicManagement.Users /// 用户导出列表 /// [Authorize(BasicManagementPermissions.SystemManagement.UserExport)] - public async Task ExportAsync(PagingUserListInput input) + public virtual async Task ExportAsync(PagingUserListInput input) { var request = new GetIdentityUsersInput { @@ -77,7 +77,7 @@ namespace Lion.AbpPro.BasicManagement.Users /// 新增用户 /// [Authorize(IdentityPermissions.Users.Create)] - public async Task CreateAsync(IdentityUserCreateDto input) + public virtual async Task CreateAsync(IdentityUserCreateDto input) { // abp 5.0 之后新增字段,是否运行用户登录,默认设置为true input.IsActive = true; @@ -106,7 +106,7 @@ namespace Lion.AbpPro.BasicManagement.Users /// /// 获取用户角色信息 /// - public async Task> GetRoleByUserId(IdInput input) + public virtual async Task> GetRoleByUserId(IdInput input) { var roles = await _identityUserRepository.GetRolesAsync(input.Id); return new ListResultDto( @@ -117,7 +117,7 @@ namespace Lion.AbpPro.BasicManagement.Users /// /// 修改密码 /// - public async Task ChangePasswordAsync(ChangePasswordInput input) + public virtual async Task ChangePasswordAsync(ChangePasswordInput input) { await _options.SetAsync(); var identityUser = await _userManager.GetByIdAsync(base.CurrentUser.GetId()); @@ -142,7 +142,7 @@ namespace Lion.AbpPro.BasicManagement.Users /// /// [Authorize(BasicManagementPermissions.SystemManagement.UserEnable)] - public async Task LockAsync(LockUserInput input) + public virtual async Task LockAsync(LockUserInput input) { var identityUser = await _userManager.GetByIdAsync(input.UserId); identityUser.SetIsActive(input.Locked); diff --git a/aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Application/DataDictionaries/DataDictionaryAppService.cs b/aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Application/DataDictionaries/DataDictionaryAppService.cs index a5d255cf..296a2517 100644 --- a/aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Application/DataDictionaries/DataDictionaryAppService.cs +++ b/aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Application/DataDictionaries/DataDictionaryAppService.cs @@ -23,7 +23,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.DataDictionaries /// /// 分页查询字典项 /// - public async Task> GetPagingListAsync(PagingDataDictionaryInput input) + public virtual async Task> GetPagingListAsync(PagingDataDictionaryInput input) { var result = new PagedResultDto(); var totalCount = await _dataDictionaryRepository.GetPagingCountAsync(input.Filter); @@ -41,7 +41,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.DataDictionaries /// /// 分页查询字典项明细 /// - public async Task> GetPagingDetailListAsync( + public virtual async Task> GetPagingDetailListAsync( PagingDataDictionaryDetailInput input) { var entity = await _dataDictionaryRepository.FindByIdAsync(input.DataDictionaryId); @@ -49,10 +49,11 @@ namespace Lion.AbpPro.DataDictionaryManagement.DataDictionaries { return new PagedResultDto(); } + var details = entity.Details .WhereIf(input.Filter.IsNotNullOrWhiteSpace(), e => (e.Code.Contains(input.Filter) || e.DisplayText.Contains(input.Filter))) .OrderBy(e => e.Order) - .ThenBy(e=> e.CreationTime) + .ThenBy(e => e.CreationTime) .Skip(input.SkipCount) .Take(input.PageSize) .ToList(); @@ -60,6 +61,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.DataDictionaries { return new PagedResultDto(); } + return new PagedResultDto( entity.Details.Count, ObjectMapper.Map, List>(details)); @@ -70,7 +72,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.DataDictionaries /// 创建字典类型 /// [Authorize(DataDictionaryManagementPermissions.DataDictionaryManagement.Create)] - public Task CreateAsync(CreateDataDictinaryInput input) + public virtual Task CreateAsync(CreateDataDictinaryInput input) { return _dataDictionaryManager.CreateAsync(input.Code, input.DisplayText, input.Description); } @@ -79,7 +81,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.DataDictionaries /// 新增字典明细 /// [Authorize(DataDictionaryManagementPermissions.DataDictionaryManagement.Create)] - public Task CreateDetailAsync(CreateDataDictinaryDetailInput input) + public virtual Task CreateDetailAsync(CreateDataDictinaryDetailInput input) { return _dataDictionaryManager.CreateDetailAsync(input.Id, input.Code, input.DisplayText, input.Description, input.Order); @@ -89,37 +91,37 @@ namespace Lion.AbpPro.DataDictionaryManagement.DataDictionaries /// 设置字典明细状态 /// [Authorize(DataDictionaryManagementPermissions.DataDictionaryManagement.Update)] - public Task SetStatus(SetDataDictinaryDetailInput input) + public virtual Task SetStatus(SetDataDictinaryDetailInput input) { return _dataDictionaryManager.SetStatus(input.DataDictionaryId, input.DataDictionayDetailId, input.IsEnabled); } [Authorize(DataDictionaryManagementPermissions.DataDictionaryManagement.Update)] - public Task UpdateDetailAsync(UpdateDetailInput input) + public virtual Task UpdateDetailAsync(UpdateDetailInput input) { return _dataDictionaryManager.UpdateDetailAsync(input.DataDictionaryId, input.Id, input.DisplayText, input.Description, input.Order); } - + [Authorize(DataDictionaryManagementPermissions.DataDictionaryManagement.Delete)] - public Task DeleteAsync(DeleteDataDictionaryDetailInput input) + public virtual Task DeleteAsync(DeleteDataDictionaryDetailInput input) { return _dataDictionaryManager.DeleteAsync(input.DataDictionaryId, input.DataDictionayDetailId); } [Authorize(DataDictionaryManagementPermissions.DataDictionaryManagement.Delete)] - public Task DeleteDataDictionaryTypeAsync(IdInput input) + public virtual Task DeleteDataDictionaryTypeAsync(IdInput input) { return _dataDictionaryManager.DeleteDataDictionaryTypeAsync(input.Id); } - + [Authorize(DataDictionaryManagementPermissions.DataDictionaryManagement.Update)] - public Task UpdateAsync(UpdateDataDictinaryInput input) + public virtual Task UpdateAsync(UpdateDataDictinaryInput input) { - return _dataDictionaryManager.UpdateAsync( input.Id, input.DisplayText, input.Description); + return _dataDictionaryManager.UpdateAsync(input.Id, input.DisplayText, input.Description); } } } \ No newline at end of file diff --git a/aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Domain/DataDictionaries/Caches/DataDictionaryCacheItemInvalidator.cs b/aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Domain/DataDictionaries/Caches/DataDictionaryCacheItemInvalidator.cs index f4fe3ff6..c80fdeff 100644 --- a/aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Domain/DataDictionaries/Caches/DataDictionaryCacheItemInvalidator.cs +++ b/aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Domain/DataDictionaries/Caches/DataDictionaryCacheItemInvalidator.cs @@ -11,7 +11,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.DataDictionaries.Caches _cache = cache; } - public async Task HandleEventAsync(EntityChangedEventData eventData) + public virtual async Task HandleEventAsync(EntityChangedEventData eventData) { await _cache.RemoveAsync( DataDictionaryDto.CalculateCacheKey(eventData.Entity.Id, eventData.Entity.Code)); diff --git a/aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Domain/DataDictionaries/DataDictionaryManager.cs b/aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Domain/DataDictionaries/DataDictionaryManager.cs index 7d7c32c6..7e38195b 100644 --- a/aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Domain/DataDictionaries/DataDictionaryManager.cs +++ b/aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Domain/DataDictionaries/DataDictionaryManager.cs @@ -14,7 +14,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.DataDictionaries } - public async Task FindByIdAsync( + public virtual async Task FindByIdAsync( Guid id, CancellationToken cancellationToken = default) { @@ -37,7 +37,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.DataDictionaries ); } - public async Task FindByCodeAsync( + public virtual async Task FindByCodeAsync( string code, CancellationToken cancellationToken = default) { @@ -67,7 +67,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.DataDictionaries /// /// /// - public async Task CreateAsync(string code, string displayText, string description) + public virtual async Task CreateAsync(string code, string displayText, string description) { Check.NotNullOrWhiteSpace(code, nameof(code)); var entity = await _dataDictionaryRepository.FindByCodeAsync(code); @@ -94,7 +94,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.DataDictionaries /// /// /// - public async Task CreateDetailAsync( + public virtual async Task CreateDetailAsync( Guid dataDictionaryId, string code, string displayText, @@ -123,7 +123,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.DataDictionaries /// /// 设置字典明细状态 /// - public async Task SetStatus( + public virtual async Task SetStatus( Guid dataDictionaryId, Guid dataDictionaryDetailId, bool isEnabled) @@ -144,7 +144,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.DataDictionaries /// /// 更新数据字典明细 /// - public async Task UpdateDetailAsync( + public virtual async Task UpdateDetailAsync( Guid dataDictionaryId, Guid dataDictionaryDetailId, string displayText, @@ -170,7 +170,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.DataDictionaries return await _dataDictionaryRepository.UpdateAsync(entity); } - public async Task DeleteAsync(Guid dataDictionaryId, Guid dataDictionaryDetailId) + public virtual async Task DeleteAsync(Guid dataDictionaryId, Guid dataDictionaryDetailId) { var entity = await _dataDictionaryRepository.FindByIdAsync(dataDictionaryId); if (entity == null) @@ -184,7 +184,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.DataDictionaries await _dataDictionaryRepository.UpdateAsync(entity); } - public async Task UpdateAsync( + public virtual async Task UpdateAsync( Guid dataDictionaryId, string displayText, string description) @@ -201,7 +201,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.DataDictionaries /// /// /// - public async Task DeleteDataDictionaryTypeAsync(Guid id) + public virtual async Task DeleteDataDictionaryTypeAsync(Guid id) { var entity = await _dataDictionaryRepository.FindByIdAsync(id); if (entity == null) diff --git a/aspnet-core/modules/FileManagement/src/Lion.AbpPro.FileManagement.Application/Files/FileAppService.cs b/aspnet-core/modules/FileManagement/src/Lion.AbpPro.FileManagement.Application/Files/FileAppService.cs index 485ee5fd..d984ffb2 100644 --- a/aspnet-core/modules/FileManagement/src/Lion.AbpPro.FileManagement.Application/Files/FileAppService.cs +++ b/aspnet-core/modules/FileManagement/src/Lion.AbpPro.FileManagement.Application/Files/FileAppService.cs @@ -12,7 +12,7 @@ public class FileAppService : FileManagementAppService, IFileAppService _configuration = configuration; } - public async Task GetFileTokenAsync() + public virtual async Task GetFileTokenAsync() { // 如何设置 sts https://help.aliyun.com/document_detail/100624.html var regionId = _configuration.GetValue("AliYun:OSS:RegionId"); @@ -40,12 +40,12 @@ public class FileAppService : FileManagementAppService, IFileAppService } [Authorize(FileManagementPermissions.FileManagement.Upload)] - public async Task CreateAsync(CreateFileInput input) + public virtual async Task CreateAsync(CreateFileInput input) { await _fileManager.CreateAsync(input.FileName, input.FilePath); } - public async Task> PagingAsync(PagingFileInput input) + public virtual async Task> PagingAsync(PagingFileInput input) { var result = new PagedResultDto(); var totalCount = await _fileManager.CountAsync(input.Filter); diff --git a/aspnet-core/modules/FileManagement/src/Lion.AbpPro.FileManagement.Domain/Files/FileManager.cs b/aspnet-core/modules/FileManagement/src/Lion.AbpPro.FileManagement.Domain/Files/FileManager.cs index 16e3231f..db8a9c4c 100644 --- a/aspnet-core/modules/FileManagement/src/Lion.AbpPro.FileManagement.Domain/Files/FileManager.cs +++ b/aspnet-core/modules/FileManagement/src/Lion.AbpPro.FileManagement.Domain/Files/FileManager.cs @@ -9,7 +9,7 @@ public class FileManager : DomainService, IFileManager _fileRepository = fileRepository; } - public async Task CreateAsync(string fileName, string filePath) + public virtual async Task CreateAsync(string fileName, string filePath) { Check.NotNullOrWhiteSpace(fileName, nameof(fileName)); Check.NotNullOrWhiteSpace(filePath, nameof(filePath)); @@ -17,7 +17,7 @@ public class FileManager : DomainService, IFileManager await _fileRepository.InsertAsync(entity); } - public async Task> PagingAsync( + public virtual async Task> PagingAsync( string filter = null, int maxResultCount = 10, int skipCount = 0) @@ -26,7 +26,7 @@ public class FileManager : DomainService, IFileManager } - public async Task CountAsync(string filter = null) + public virtual async Task CountAsync(string filter = null) { return await _fileRepository.GetPagingCountAsync(filter); } diff --git a/aspnet-core/modules/LanguageManagement/src/Lion.AbpPro.LanguageManagement.Application/LanguageTexts/LanguageTextAppService.cs b/aspnet-core/modules/LanguageManagement/src/Lion.AbpPro.LanguageManagement.Application/LanguageTexts/LanguageTextAppService.cs index 16152b8f..b8a8d7ce 100644 --- a/aspnet-core/modules/LanguageManagement/src/Lion.AbpPro.LanguageManagement.Application/LanguageTexts/LanguageTextAppService.cs +++ b/aspnet-core/modules/LanguageManagement/src/Lion.AbpPro.LanguageManagement.Application/LanguageTexts/LanguageTextAppService.cs @@ -25,7 +25,7 @@ public class LanguageTextAppService : ApplicationService, ILanguageTextAppServic /// /// 获取所有资源 /// - public async Task>> AllResourceListAsync() + public virtual async Task>> AllResourceListAsync() { var result = new List>(); foreach (var item in await _localizationHelper.GetAllResourceName()) @@ -39,7 +39,7 @@ public class LanguageTextAppService : ApplicationService, ILanguageTextAppServic /// /// 分页查询语言文本 /// - public async Task> PageAsync(PageLanguageTextInput input) + public virtual async Task> PageAsync(PageLanguageTextInput input) { if (!CultureHelper.IsValidCultureCode(input.CultureName)) { @@ -95,7 +95,7 @@ public class LanguageTextAppService : ApplicationService, ILanguageTextAppServic /// 创建语言文本 /// [Authorize(LanguageManagementPermissions.LanguageTexts.Create)] - public async Task CreateAsync(CreateLanguageTextInput input) + public virtual async Task CreateAsync(CreateLanguageTextInput input) { var localizedString = await GetLocalizedStringAsync(input.ResourceName, input.CultureName, input.Name); if (localizedString != null && localizedString.Value == input.Value) @@ -116,7 +116,7 @@ public class LanguageTextAppService : ApplicationService, ILanguageTextAppServic /// 编辑语言文本 /// [Authorize(LanguageManagementPermissions.LanguageTexts.Update)] - public async Task UpdateAsync(UpdateLanguageTextInput input) + public virtual async Task UpdateAsync(UpdateLanguageTextInput input) { var localizedString = await GetLocalizedStringAsync(input.ResourceName, input.CultureName, input.Name); if (localizedString == null) throw new LanguageManagementApplicationException(LanguageManagementErrorCodes.ResourceNotFound); diff --git a/aspnet-core/modules/LanguageManagement/src/Lion.AbpPro.LanguageManagement.Application/Languages/LanguageAppService.cs b/aspnet-core/modules/LanguageManagement/src/Lion.AbpPro.LanguageManagement.Application/Languages/LanguageAppService.cs index 9e12ef1a..49b64419 100644 --- a/aspnet-core/modules/LanguageManagement/src/Lion.AbpPro.LanguageManagement.Application/Languages/LanguageAppService.cs +++ b/aspnet-core/modules/LanguageManagement/src/Lion.AbpPro.LanguageManagement.Application/Languages/LanguageAppService.cs @@ -18,7 +18,7 @@ public class LanguageAppService : ApplicationService, ILanguageAppService /// /// 获取所有语言 /// - public async Task> AllListAsync() + public virtual async Task> AllListAsync() { var languages = await _languageManager.ListAsync(); var list = ObjectMapper.Map, List>(languages); @@ -29,7 +29,7 @@ public class LanguageAppService : ApplicationService, ILanguageAppService /// /// 分页查询语言 /// - public async Task> PageAsync(PageLanguageInput input) + public virtual async Task> PageAsync(PageLanguageInput input) { var result = new PagedResultDto(); var totalCount = await _languageManager.CountAsync(input.Filter); @@ -44,7 +44,7 @@ public class LanguageAppService : ApplicationService, ILanguageAppService /// 创建语言 /// [Authorize(LanguageManagementPermissions.Languages.Create)] - public Task CreateAsync(CreateLanguageInput input) + public virtual Task CreateAsync(CreateLanguageInput input) { return _languageManager.CreateAsync( GuidGenerator.Create(), @@ -60,7 +60,7 @@ public class LanguageAppService : ApplicationService, ILanguageAppService /// 编辑语言 /// [Authorize(LanguageManagementPermissions.Languages.Update)] - public Task UpdateAsync(UpdateLanguageInput input) + public virtual Task UpdateAsync(UpdateLanguageInput input) { return _languageManager.UpdateAsync( input.Id, @@ -76,7 +76,7 @@ public class LanguageAppService : ApplicationService, ILanguageAppService /// 删除语言 /// [Authorize(LanguageManagementPermissions.Languages.Delete)] - public Task DeleteAsync(DeleteLanguageInput input) + public virtual Task DeleteAsync(DeleteLanguageInput input) { return _languageManager.DeleteAsync(input.Id); } @@ -85,7 +85,7 @@ public class LanguageAppService : ApplicationService, ILanguageAppService /// 设置默认语言 /// [Authorize(LanguageManagementPermissions.Languages.ChangeDefault)] - public async Task SetDefaultAsync(IdInput input) + public virtual async Task SetDefaultAsync(IdInput input) { var language = await _languageManager.GetAsync(input.Id); await _settingManager.SetForCurrentTenantAsync(LanguageManagementConsts.SettingDefaultLanguage, language.CultureName + ";" + language.UiCultureName, false); diff --git a/aspnet-core/modules/LanguageManagement/src/Lion.AbpPro.LanguageManagement.Domain/LanguageTexts/LanguageTextManager.cs b/aspnet-core/modules/LanguageManagement/src/Lion.AbpPro.LanguageManagement.Domain/LanguageTexts/LanguageTextManager.cs index 125018f3..ec7588c9 100644 --- a/aspnet-core/modules/LanguageManagement/src/Lion.AbpPro.LanguageManagement.Domain/LanguageTexts/LanguageTextManager.cs +++ b/aspnet-core/modules/LanguageManagement/src/Lion.AbpPro.LanguageManagement.Domain/LanguageTexts/LanguageTextManager.cs @@ -19,7 +19,7 @@ public class LanguageTextManager : LanguageManagementDomainService, ILanguageTex /// 筛选条件:name or value /// 返回最大条数 /// 跳过条数 - public async Task> ListAsync(string cultureName, string resourceName, string filter = null, int maxResultCount = 10, int skipCount = 0) + public virtual async Task> ListAsync(string cultureName, string resourceName, string filter = null, int maxResultCount = 10, int skipCount = 0) { var list = await _languageTextRepository.ListAsync(cultureName, resourceName, filter, maxResultCount, skipCount); return ObjectMapper.Map, List>(list); @@ -31,7 +31,7 @@ public class LanguageTextManager : LanguageManagementDomainService, ILanguageTex /// 语言 /// 资源名称 /// 筛选条件:name or value - public async Task CountAsync(string cultureName, string resourceName, string filter = null) + public virtual async Task CountAsync(string cultureName, string resourceName, string filter = null) { return await _languageTextRepository.CountAsync(cultureName, resourceName, filter); } @@ -39,7 +39,7 @@ public class LanguageTextManager : LanguageManagementDomainService, ILanguageTex /// /// 创建语言文本 /// - public async Task CreateAsync(Guid id, string cultureName, string resourceName, string name, string value) + public virtual async Task CreateAsync(Guid id, string cultureName, string resourceName, string name, string value) { var entity = await _languageTextRepository.FindAsync(cultureName, resourceName, name); if (entity != null) @@ -60,7 +60,7 @@ public class LanguageTextManager : LanguageManagementDomainService, ILanguageTex /// 资源名称 /// 键 /// 值 - public async Task UpdateAsync(string cultureName, string resourceName, string name, string value) + public virtual async Task UpdateAsync(string cultureName, string resourceName, string name, string value) { var entity = await _languageTextRepository.FindAsync(cultureName, resourceName, name); if (entity == null) @@ -80,7 +80,7 @@ public class LanguageTextManager : LanguageManagementDomainService, ILanguageTex /// /// 删除语言文本 /// - public async Task DeleteAsync(Guid id) + public virtual async Task DeleteAsync(Guid id) { var entity = await _languageTextRepository.FindAsync(id); if (entity == null) throw new LanguageManagementDomainException(LanguageManagementErrorCodes.LanguageNotFound); diff --git a/aspnet-core/modules/LanguageManagement/src/Lion.AbpPro.LanguageManagement.Domain/Languages/LanguageManager.cs b/aspnet-core/modules/LanguageManagement/src/Lion.AbpPro.LanguageManagement.Domain/Languages/LanguageManager.cs index d7be9aa3..b288a867 100644 --- a/aspnet-core/modules/LanguageManagement/src/Lion.AbpPro.LanguageManagement.Domain/Languages/LanguageManager.cs +++ b/aspnet-core/modules/LanguageManagement/src/Lion.AbpPro.LanguageManagement.Domain/Languages/LanguageManager.cs @@ -12,7 +12,7 @@ public class LanguageManager : LanguageManagementDomainService, ILanguageManager /// /// 查询语言 /// - public async Task> ListAsync(bool? isEnabled = null) + public virtual async Task> ListAsync(bool? isEnabled = null) { var list = await _languageRepository.ListAsync(isEnabled); return list; @@ -21,7 +21,7 @@ public class LanguageManager : LanguageManagementDomainService, ILanguageManager /// /// 查询语言 /// - public async Task> GetListAsync(int maxResultCount = 10, int skipCount = 0, string filter = null) + public virtual async Task> GetListAsync(int maxResultCount = 10, int skipCount = 0, string filter = null) { var list = await _languageRepository.ListAsync(maxResultCount, skipCount, filter); return ObjectMapper.Map, List>(list); @@ -31,7 +31,7 @@ public class LanguageManager : LanguageManagementDomainService, ILanguageManager /// 获取总条数 /// /// 查询条件 cultureName or uiCultureName or displayName - public async Task CountAsync(string filter = null) + public virtual async Task CountAsync(string filter = null) { return await _languageRepository.CountAsync(filter); } @@ -39,7 +39,7 @@ public class LanguageManager : LanguageManagementDomainService, ILanguageManager /// /// 创建语言 /// - public async Task CreateAsync( + public virtual async Task CreateAsync( Guid id, string cultureName, string uiCultureName, @@ -62,7 +62,7 @@ public class LanguageManager : LanguageManagementDomainService, ILanguageManager /// /// 更新语言 /// - public async Task UpdateAsync( + public virtual async Task UpdateAsync( Guid id, string cultureName, string uiCultureName, @@ -81,7 +81,7 @@ public class LanguageManager : LanguageManagementDomainService, ILanguageManager /// /// 删除语言 /// - public async Task DeleteAsync(Guid id) + public virtual async Task DeleteAsync(Guid id) { var entity = await _languageRepository.FindAsync(id); if (entity == null) throw new LanguageManagementDomainException(LanguageManagementErrorCodes.LanguageNotFound); @@ -91,7 +91,7 @@ public class LanguageManager : LanguageManagementDomainService, ILanguageManager /// /// 通过Id获取语言 /// - public async Task GetAsync(Guid id) + public virtual async Task GetAsync(Guid id) { var entity = await _languageRepository.FindAsync(id); if (entity == null) throw new LanguageManagementDomainException(LanguageManagementErrorCodes.LanguageNotFound); @@ -101,7 +101,7 @@ public class LanguageManager : LanguageManagementDomainService, ILanguageManager /// /// 获取指定语言 /// - public async Task GetAsync(string cultureName) + public virtual async Task GetAsync(string cultureName) { var entity = await _languageRepository.FindAsync(cultureName); if (entity == null) throw new LanguageManagementDomainException(LanguageManagementErrorCodes.LanguageNotFound); @@ -111,7 +111,7 @@ public class LanguageManager : LanguageManagementDomainService, ILanguageManager /// /// 设置默认语言 /// - public async Task SetDefaultAsync(Guid id) + public virtual async Task SetDefaultAsync(Guid id) { var entity = await _languageRepository.FindAsync(id); if (entity == null) throw new LanguageManagementDomainException(LanguageManagementErrorCodes.LanguageNotFound); diff --git a/aspnet-core/modules/NotificationManagement/src/Lion.AbpPro.NotificationManagement.Application/Hubs/NotificationHubAppService.cs b/aspnet-core/modules/NotificationManagement/src/Lion.AbpPro.NotificationManagement.Application/Hubs/NotificationHubAppService.cs index ba863ede..d0598f8f 100644 --- a/aspnet-core/modules/NotificationManagement/src/Lion.AbpPro.NotificationManagement.Application/Hubs/NotificationHubAppService.cs +++ b/aspnet-core/modules/NotificationManagement/src/Lion.AbpPro.NotificationManagement.Application/Hubs/NotificationHubAppService.cs @@ -20,7 +20,7 @@ public class NotificationHubAppService : NotificationManagementAppService, INoti /// /// 发送消息 /// - public async Task SendMessageAsync(Guid id, string title, string content, MessageType messageType, MessageLevel messageLevel, List users) + public virtual async Task SendMessageAsync(Guid id, string title, string content, MessageType messageType, MessageLevel messageLevel, List users) { switch (messageType) { diff --git a/aspnet-core/modules/NotificationManagement/src/Lion.AbpPro.NotificationManagement.Application/Notifications/NotificationAppService.cs b/aspnet-core/modules/NotificationManagement/src/Lion.AbpPro.NotificationManagement.Application/Notifications/NotificationAppService.cs index 0898682d..ac42b027 100644 --- a/aspnet-core/modules/NotificationManagement/src/Lion.AbpPro.NotificationManagement.Application/Notifications/NotificationAppService.cs +++ b/aspnet-core/modules/NotificationManagement/src/Lion.AbpPro.NotificationManagement.Application/Notifications/NotificationAppService.cs @@ -19,7 +19,7 @@ namespace Lion.AbpPro.NotificationManagement.Notifications /// /// 发送警告文本消息 /// - public async Task SendCommonWarningMessageAsync(SendCommonMessageInput input) + public virtual async Task SendCommonWarningMessageAsync(SendCommonMessageInput input) { await _notificationManager.SendCommonWarningMessageAsync(input.Title, input.Content, input.ReceiveIds); } @@ -27,7 +27,7 @@ namespace Lion.AbpPro.NotificationManagement.Notifications /// /// 发送普通文本消息 /// - public async Task SendCommonInformationMessageAsync(SendCommonMessageInput input) + public virtual async Task SendCommonInformationMessageAsync(SendCommonMessageInput input) { await _notificationManager.SendCommonInformationMessageAsync(input.Title, input.Content, input.ReceiveIds); } @@ -35,7 +35,7 @@ namespace Lion.AbpPro.NotificationManagement.Notifications /// /// 发送错误文本消息 /// - public async Task SendCommonErrorMessageAsync(SendCommonMessageInput input) + public virtual async Task SendCommonErrorMessageAsync(SendCommonMessageInput input) { await _notificationManager.SendCommonErrorMessageAsync(input.Title, input.Content, input.ReceiveIds); } @@ -43,7 +43,7 @@ namespace Lion.AbpPro.NotificationManagement.Notifications /// /// 发送警告广播消息 /// - public async Task SendBroadCastWarningMessageAsync(SendBroadCastMessageInput input) + public virtual async Task SendBroadCastWarningMessageAsync(SendBroadCastMessageInput input) { await _notificationManager.SendBroadCastWarningMessageAsync(input.Title, input.Content); } @@ -51,7 +51,7 @@ namespace Lion.AbpPro.NotificationManagement.Notifications /// /// 发送正常广播消息 /// - public async Task SendBroadCastInformationMessageAsync(SendBroadCastMessageInput input) + public virtual async Task SendBroadCastInformationMessageAsync(SendBroadCastMessageInput input) { await _notificationManager.SendBroadCastInformationMessageAsync(input.Title, input.Content); } @@ -59,12 +59,12 @@ namespace Lion.AbpPro.NotificationManagement.Notifications /// /// 发送错误广播消息 /// - public async Task SendBroadCastErrorMessageAsync(SendBroadCastMessageInput input) + public virtual async Task SendBroadCastErrorMessageAsync(SendBroadCastMessageInput input) { await _notificationManager.SendBroadCastErrorMessageAsync(input.Title, input.Content); } - public Task SetReadAsync(SetReadInput input) + public virtual Task SetReadAsync(SetReadInput input) { return _notificationManager.SetReadAsync(input.Id); } @@ -73,7 +73,7 @@ namespace Lion.AbpPro.NotificationManagement.Notifications /// /// 分页获取用户普通文本消息 /// - public async Task> GetPageCommonNotificationByUserIdAsync(PagingNotificationListInput listInput) + public virtual async Task> GetPageCommonNotificationByUserIdAsync(PagingNotificationListInput listInput) { if (_currentUser == null || !_currentUser.Id.HasValue) { @@ -90,7 +90,7 @@ namespace Lion.AbpPro.NotificationManagement.Notifications /// /// /// - public async Task> GetPageBroadCastNotificationByUserIdAsync(PagingNotificationListInput listInput) + public virtual async Task> GetPageBroadCastNotificationByUserIdAsync(PagingNotificationListInput listInput) { var totalCount = await _notificationManager.GetPagingCountAsync(null, MessageType.Common); var list = await _notificationManager.GetPagingListAsync(null, MessageType.BroadCast, listInput.PageSize, listInput.SkipCount);