From c53bc8d3feb0e69f335a4b89f29efe87c38bfb64 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=8E=8B=E5=86=9B?= <510423039@qq.com>
Date: Fri, 5 Nov 2021 23:50:53 +0800
Subject: [PATCH 1/7] =?UTF-8?q?=E2=9C=A8=20=E8=B0=83=E6=95=B4=E9=A1=B9?=
=?UTF-8?q?=E7=9B=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
aspnet-core/CompanyName.ProjectName.sln | 227 ++--
.../Lion.Abp.Cap.csproj} | 17 +-
.../LionAbpCapConsumerServiceSelector.cs} | 6 +-
.../LionAbpCapDistributedEventBus.cs} | 6 +-
.../LionAbpCapModule.cs} | 4 +-
.../LionAbpCapServiceCollectionExtensions.cs} | 6 +-
.../ElasticsearchBasicRepository.cs | 3 +-
.../ElasticsearchProvider.cs | 9 +-
.../IElasticsearchProvider.cs | 5 +-
.../Lion.Abp.ElasticSearch.csproj | 10 +
.../LionAbpElasticSearchModule.cs | 9 +
.../Lion.Abp.Domain/Lion.Abp.Domain.csproj | 12 +
.../Lion.Abp.Domain/LionAbpDomainModule.cs | 13 +
.../Lion.Abp.Domain/LionAbpDomainService.cs | 36 +
.../Customs/Dtos/CustomeListResultDto.cs | 26 +
.../Customs/Dtos/CustomePagedResultDto.cs | 21 +
.../Customs/Dtos/FromSelector.cs | 41 +
.../Customs/Dtos/IdInput.cs | 9 +
.../Customs/Dtos/PagingBase.cs | 59 ++
.../src/Lion.Abp.Extension/Customs/Guard.cs | 302 ++++++
.../Customs/Http/HttpClientHelper.cs | 164 +++
.../Lion.Abp.Extension.csproj | 18 +
.../System/BooleanExtensions.cs | 27 +
.../Generic/CollectionExtensions.cs | 77 ++
.../Generic/EnumerableExtensions.cs | 199 ++++
.../System/DateTimeExtensions.cs | 78 ++
.../System/EnumExtensions.cs | 199 ++++
.../System/ExceptionExtensions.cs | 76 ++
.../System/Linq/QueryableExtensions.cs | 28 +
.../System/Reflection/AssemblyExtensions.cs | 26 +
.../System/Reflection/MemberInfoExtensions.cs | 73 ++
.../System/Reflection/MethodInfoExtensions.cs | 31 +
.../Reflection/PropertyInfoExtensions.cs | 24 +
.../System/StringExtensions.cs | 981 ++++++++++++++++++
.../System/Text/StringBuilderExtensions.cs | 241 +++++
...mpanyName.ProjectName.PublicGateway.csproj | 11 +
.../Controllers/WeatherForecastController.cs | 40 +
.../Program.cs | 23 +
.../Properties/launchSettings.json | 31 +
.../Startup.cs | 58 ++
.../WeatherForecast.cs | 15 +
.../appsettings.Development.json | 9 +
.../appsettings.json | 10 +
.../CompanyName.ProjectName.WebGateway.csproj | 11 +
.../Controllers/WeatherForecastController.cs | 40 +
.../Program.cs | 23 +
.../Properties/launchSettings.json | 31 +
.../Startup.cs | 58 ++
.../WeatherForecast.cs | 15 +
.../appsettings.Development.json | 9 +
.../appsettings.json | 10 +
.../Dtos/PagingDataDictionaryDetailInput.cs | 3 +-
.../Dtos/PagingDataDictionaryInput.cs | 2 +-
.../DataDictionaryAppService.cs | 2 -
...aDictionaryManagement.Domain.Shared.csproj | 2 +-
...ame.DataDictionaryManagement.Domain.csproj | 2 +
.../Aggregates/DataDictionary.cs | 2 +-
.../Aggregates/DataDictionaryDetail.cs | 2 +-
.../DataDictionaryManagementDomainModule.cs | 6 +-
...me.DataDictionaryManagement.MongoDB.csproj | 14 -
.../FodyWeavers.xml | 3 -
.../FodyWeavers.xsd | 30 -
.../DataDictionaryManagementMongoDbContext.cs | 20 -
...onaryManagementMongoDbContextExtensions.cs | 22 -
.../DataDictionaryManagementMongoDbModule.cs | 23 -
...ntMongoModelBuilderConfigurationOptions.cs | 14 -
...IDataDictionaryManagementMongoDbContext.cs | 13 -
...ionManagement.Application.Contracts.csproj | 1 -
.../Dtos/PagingNotificationListInput.cs | 3 +-
...otificationManagement.Domain.Shared.csproj | 46 +-
...tName.NotificationManagement.Domain.csproj | 2 +-
.../NotificationManagementDomainService.cs | 6 +-
.../Notifications/Aggregates/Notification.cs | 2 +-
...Name.NotificationManagement.MongoDB.csproj | 15 -
.../FodyWeavers.xml | 3 -
.../FodyWeavers.xsd | 30 -
.../INotificationManagementMongoDbContext.cs | 13 -
.../NotificationManagementMongoDbContext.cs | 20 -
...ationManagementMongoDbContextExtensions.cs | 22 -
.../NotificationManagementMongoDbModule.cs | 23 -
...ntMongoModelBuilderConfigurationOptions.cs | 14 -
...eryManagement.Application.Contracts.csproj | 17 -
.../ElasticSearchs/ILogAppService.cs | 12 -
.../FodyWeavers.xml | 3 -
.../FodyWeavers.xsd | 30 -
...yManagementPermissionDefinitionProvider.cs | 21 -
.../Permissions/QueryManagementPermissions.cs | 23 -
...eryManagementApplicationContractsModule.cs | 16 -
...ectName.QueryManagement.Application.csproj | 18 -
.../ElasticSearchs/LogAppService.cs | 35 -
.../FodyWeavers.xml | 3 -
.../FodyWeavers.xsd | 30 -
.../QueryManagementAppService.cs | 14 -
...yManagementApplicationAutoMapperProfile.cs | 14 -
.../QueryManagementApplicationModule.cs | 27 -
...tName.QueryManagement.Domain.Shared.csproj | 29 -
.../Dtos/PagingElasticSearchLogInput.cs | 14 -
.../Dtos/PagingElasticSearchLogOutput.cs | 30 -
.../FodyWeavers.xml | 3 -
.../FodyWeavers.xsd | 30 -
.../Localization/QueryManagement/ar.json | 7 -
.../Localization/QueryManagement/cs.json | 7 -
.../Localization/QueryManagement/de-DE.json | 7 -
.../Localization/QueryManagement/en-GB.json | 7 -
.../Localization/QueryManagement/en.json | 8 -
.../Localization/QueryManagement/es.json | 7 -
.../Localization/QueryManagement/fr.json | 7 -
.../Localization/QueryManagement/hu.json | 7 -
.../Localization/QueryManagement/nl.json | 7 -
.../Localization/QueryManagement/pl-PL.json | 6 -
.../Localization/QueryManagement/pt-BR.json | 6 -
.../Localization/QueryManagement/sl.json | 6 -
.../Localization/QueryManagement/tr.json | 7 -
.../Localization/QueryManagement/vi.json | 6 -
.../Localization/QueryManagement/zh-Hans.json | 8 -
.../Localization/QueryManagement/zh-Hant.json | 6 -
.../Localization/QueryManagementResource.cs | 10 -
.../QueryManagementDomainSharedModule.cs | 37 -
.../QueryManagementErrorCodes.cs | 7 -
.../Systems/Users/AbpUserFreeSqlDto.cs | 13 -
....ProjectName.QueryManagement.Domain.csproj | 15 -
.../ICompanyNameProjectNameLogRepository.cs | 17 -
.../FodyWeavers.xml | 3 -
.../FodyWeavers.xsd | 30 -
.../QueryManagementDbProperties.cs | 12 -
.../QueryManagementDomainModule.cs | 14 -
...ueryManagementSettingDefinitionProvider.cs | 14 -
.../Settings/QueryManagementSettings.cs | 11 -
.../Systems/Users/IUserFreeSqlRepository.cs | 10 -
...tName.QueryManagement.ElasticSearch.csproj | 13 -
.../CompanyNameProjectNameLogRepository.cs | 60 --
.../QueryManagementElasticsearchModule.cs | 12 -
...QueryManagement.EntityFrameworkCore.csproj | 15 -
.../IQueryManagementDbContext.cs | 13 -
.../QueryManagementDbContext.cs | 27 -
...agementDbContextModelCreatingExtensions.cs | 43 -
...ueryManagementEntityFrameworkCoreModule.cs | 23 -
...agementModelBuilderConfigurationOptions.cs | 18 -
.../FodyWeavers.xml | 3 -
.../FodyWeavers.xsd | 30 -
...ctName.QueryManagement.FreeSqlMySql.csproj | 16 -
.../Systems/Users/UserFreeSqlRepository.cs | 26 -
...Name.QueryManagement.HttpApi.Client.csproj | 15 -
.../FodyWeavers.xml | 3 -
.../FodyWeavers.xsd | 30 -
.../QueryManagementHttpApiClientModule.cs | 22 -
...ProjectName.QueryManagement.HttpApi.csproj | 15 -
.../ElasticSearchs/ElasticSearchController.cs | 30 -
.../FodyWeavers.xml | 3 -
.../FodyWeavers.xsd | 30 -
.../QueryManagementController.cs | 13 -
.../QueryManagementHttpApiModule.cs | 33 -
...ProjectName.QueryManagement.MongoDB.csproj | 15 -
.../FodyWeavers.xml | 3 -
.../FodyWeavers.xsd | 30 -
.../MongoDB/IQueryManagementMongoDbContext.cs | 13 -
.../MongoDB/QueryManagementMongoDbContext.cs | 20 -
...QueryManagementMongoDbContextExtensions.cs | 22 -
.../MongoDB/QueryManagementMongoDbModule.cs | 23 -
...ntMongoModelBuilderConfigurationOptions.cs | 14 -
...e.QueryManagement.Application.Tests.csproj | 16 -
.../FodyWeavers.xml | 3 -
.../FodyWeavers.xsd | 30 -
.../QueryManagementApplicationTestBase.cs | 10 -
.../QueryManagementApplicationTestModule.cs | 13 -
...ctName.QueryManagement.Domain.Tests.csproj | 15 -
.../FodyWeavers.xml | 3 -
.../FodyWeavers.xsd | 30 -
.../QueryManagementDomainTestBase.cs | 10 -
.../QueryManagementDomainTestModule.cs | 17 -
.../Samples/SampleManager_Tests.cs | 15 -
...anagement.EntityFrameworkCore.Tests.csproj | 18 -
...ryManagementEntityFrameworkCoreTestBase.cs | 10 -
...ManagementEntityFrameworkCoreTestModule.cs | 43 -
.../Samples/SampleRepository_Tests.cs | 12 -
.../FodyWeavers.xml | 3 -
.../FodyWeavers.xsd | 30 -
...tName.QueryManagement.MongoDB.Tests.csproj | 17 -
.../FodyWeavers.xml | 3 -
.../FodyWeavers.xsd | 30 -
.../MongoDB/MongoDbFixture.cs | 22 -
.../MongoDB/MongoTestCollection.cs | 10 -
.../MongoDB/QueryManagementMongoDbTestBase.cs | 10 -
.../QueryManagementMongoDbTestModule.cs | 27 -
.../MongoDB/Samples/SampleRepository_Tests.cs | 14 -
...rojectName.QueryManagement.TestBase.csproj | 23 -
.../FodyWeavers.xml | 3 -
.../FodyWeavers.xsd | 30 -
.../QueryManagementDataSeedContributor.cs | 33 -
.../QueryManagementTestBase.cs | 60 --
.../QueryManagementTestBaseModule.cs | 42 -
.../Samples/SampleRepository_Tests.cs | 22 -
.../Security/FakeCurrentPrincipalAccessor.cs | 43 -
...ompanyName.ProjectName.HttpApi.Host.csproj | 2 +-
.../ProjectNameHttpApiHostModule.cs | 13 +-
.../Properties/launchSettings.json | 2 +-
.../AuditLogs/PagingAuditLogListInput.cs | 2 +-
.../Dtos/PagingApiRseourceListInput.cs | 2 +-
.../ApiResources/IApiResourceAppService.cs | 2 +-
.../ApiScopes/Dtos/PagingApiScopeListInput.cs | 2 +-
.../ApiScopes/IApiScopeAppService.cs | 6 +-
.../Clients/Dtos/PagingClientListInput.cs | 2 +-
.../IIdentityServerClientAppService.cs | 2 +-
.../Dtos/PagingIdentityResourceListInput.cs | 2 +-
.../IIdentityResourceAppService.cs | 2 +-
.../Roles/Dtos/PagingRoleListInput.cs | 3 +-
.../Tenants/Dtos/PagingTenantInput.cs | 2 +-
.../Users/Dtos/PagingUserListInput.cs | 3 +-
...CompanyName.ProjectName.Application.csproj | 3 +-
.../HttpClientNameConsts.cs | 13 +
.../ApiResources/ApiResourceAppService.cs | 2 +-
.../ApiScopes/ApiScopeAppService.cs | 3 +-
.../Clients/IdentityServerClientAppService.cs | 4 +-
.../IdentityResourceAppService.cs | 3 +-
.../ProjectNameApplicationModule.cs | 7 +-
.../Users/LoginAppService.cs | 8 +-
.../Users/UserAppService.cs | 1 -
.../appsettings.json | 2 +-
...mpanyName.ProjectName.Domain.Shared.csproj | 4 +-
.../CompanyName.ProjectName.Domain.csproj | 1 -
.../Seeds/AbpSettingDataSeedContributor.cs | 28 +
.../IdentityServerDataSeedContributor.cs | 0
.../Seeds}/UserDataSeedContributor.cs | 0
.../ProjectNameDomainModule.cs | 4 +-
...ame.ProjectName.EntityFrameworkCore.csproj | 1 -
.../ProjectNameDbContext.cs | 66 +-
.../ProjectNameEntityFrameworkCoreModule.cs | 2 -
...yName.ProjectName.FreeSqlRepository.csproj | 14 +
.../FreeSqlBasicRepository.cs | 5 +-
.../FreeSqlRepositoryModule.cs} | 23 +-
.../CompanyName.ProjectName.HttpApi.csproj | 1 -
.../IdentityServers/ApiResourceController.cs | 2 +-
.../IdentityServers/ApiScopeController.cs | 6 +-
.../IdentityServers/ClientController.cs | 2 +-
.../IdentityResourceController.cs | 2 +-
.../Controllers/Systems/AccountController.cs | 3 +
.../Controllers/Systems/RoleController.cs | 6 +-
.../Controllers/Systems/UserController.cs | 5 +-
.../Controllers/Tenants/TenantController.cs | 2 +-
.../ProjectNameHttpApiModule.cs | 5 +-
...ProjectName.Shared.Hosting.Gateways.csproj | 15 +
.../SharedHostingGatewayModule.cs | 30 +
...ctName.Shared.Hosting.Microservices.csproj | 20 +
.../Builder/ApplicationBuilderExtensions.cs | 53 +
.../ServiceCollectionExtensions.cs | 19 +
.../SharedHostingMicroserviceModule.cs | 104 ++
.../Swaggers/EnumSchemaFilter.cs | 28 +
.../Swaggers/HiddenAbpDefaultApiFilter.cs | 53 +
.../DefaultHttpExceptionStatusCodeFinder.cs | 74 ++
vben271/src/hooks/web/useSignalR.ts | 42 +-
vben271/src/store/modules/permission.ts | 2 +-
251 files changed, 3900 insertions(+), 2603 deletions(-)
rename aspnet-core/frameworks/CAP/src/{CompanyName.ProjectName.CAP/CompanyName.ProjectName.CAP.csproj => Lion.Abp.Cap/Lion.Abp.Cap.csproj} (58%)
rename aspnet-core/frameworks/CAP/src/{CompanyName.ProjectName.CAP/AbpCapConsumerServiceSelector.cs => Lion.Abp.Cap/LionAbpCapConsumerServiceSelector.cs} (96%)
rename aspnet-core/frameworks/CAP/src/{CompanyName.ProjectName.CAP/AbpCapDistributedEventBus.cs => Lion.Abp.Cap/LionAbpCapDistributedEventBus.cs} (97%)
rename aspnet-core/frameworks/CAP/src/{CompanyName.ProjectName.CAP/AbpCapModule.cs => Lion.Abp.Cap/LionAbpCapModule.cs} (58%)
rename aspnet-core/frameworks/CAP/src/{CompanyName.ProjectName.CAP/AbpCapServiceCollectionExtensions.cs => Lion.Abp.Cap/LionAbpCapServiceCollectionExtensions.cs} (85%)
rename aspnet-core/{modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.ElasticSearch => frameworks/ElasticSearch/src/Lion.Abp.ElasticSearch}/ElasticsearchBasicRepository.cs (82%)
rename aspnet-core/{modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.ElasticSearch => frameworks/ElasticSearch/src/Lion.Abp.ElasticSearch}/ElasticsearchProvider.cs (73%)
rename aspnet-core/{modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.ElasticSearch => frameworks/ElasticSearch/src/Lion.Abp.ElasticSearch}/IElasticsearchProvider.cs (63%)
create mode 100644 aspnet-core/frameworks/ElasticSearch/src/Lion.Abp.ElasticSearch/Lion.Abp.ElasticSearch.csproj
create mode 100644 aspnet-core/frameworks/ElasticSearch/src/Lion.Abp.ElasticSearch/LionAbpElasticSearchModule.cs
create mode 100644 aspnet-core/frameworks/Extensions/src/Lion.Abp.Domain/Lion.Abp.Domain.csproj
create mode 100644 aspnet-core/frameworks/Extensions/src/Lion.Abp.Domain/LionAbpDomainModule.cs
create mode 100644 aspnet-core/frameworks/Extensions/src/Lion.Abp.Domain/LionAbpDomainService.cs
create mode 100644 aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Dtos/CustomeListResultDto.cs
create mode 100644 aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Dtos/CustomePagedResultDto.cs
create mode 100644 aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Dtos/FromSelector.cs
create mode 100644 aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Dtos/IdInput.cs
create mode 100644 aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Dtos/PagingBase.cs
create mode 100644 aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Guard.cs
create mode 100644 aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Http/HttpClientHelper.cs
create mode 100644 aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Lion.Abp.Extension.csproj
create mode 100644 aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/BooleanExtensions.cs
create mode 100644 aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Collections/Generic/CollectionExtensions.cs
create mode 100644 aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Collections/Generic/EnumerableExtensions.cs
create mode 100644 aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/DateTimeExtensions.cs
create mode 100644 aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/EnumExtensions.cs
create mode 100644 aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/ExceptionExtensions.cs
create mode 100644 aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Linq/QueryableExtensions.cs
create mode 100644 aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Reflection/AssemblyExtensions.cs
create mode 100644 aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Reflection/MemberInfoExtensions.cs
create mode 100644 aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Reflection/MethodInfoExtensions.cs
create mode 100644 aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Reflection/PropertyInfoExtensions.cs
create mode 100644 aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/StringExtensions.cs
create mode 100644 aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Text/StringBuilderExtensions.cs
create mode 100644 aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/CompanyName.ProjectName.PublicGateway.csproj
create mode 100644 aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/Controllers/WeatherForecastController.cs
create mode 100644 aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/Program.cs
create mode 100644 aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/Properties/launchSettings.json
create mode 100644 aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/Startup.cs
create mode 100644 aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/WeatherForecast.cs
create mode 100644 aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/appsettings.Development.json
create mode 100644 aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/appsettings.json
create mode 100644 aspnet-core/gateways/CompanyName.ProjectName.WebGateway/CompanyName.ProjectName.WebGateway.csproj
create mode 100644 aspnet-core/gateways/CompanyName.ProjectName.WebGateway/Controllers/WeatherForecastController.cs
create mode 100644 aspnet-core/gateways/CompanyName.ProjectName.WebGateway/Program.cs
create mode 100644 aspnet-core/gateways/CompanyName.ProjectName.WebGateway/Properties/launchSettings.json
create mode 100644 aspnet-core/gateways/CompanyName.ProjectName.WebGateway/Startup.cs
create mode 100644 aspnet-core/gateways/CompanyName.ProjectName.WebGateway/WeatherForecast.cs
create mode 100644 aspnet-core/gateways/CompanyName.ProjectName.WebGateway/appsettings.Development.json
create mode 100644 aspnet-core/gateways/CompanyName.ProjectName.WebGateway/appsettings.json
delete mode 100644 aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/CompanyName.ProjectName.DataDictionaryManagement.MongoDB.csproj
delete mode 100644 aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/FodyWeavers.xml
delete mode 100644 aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/FodyWeavers.xsd
delete mode 100644 aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/MongoDB/DataDictionaryManagementMongoDbContext.cs
delete mode 100644 aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/MongoDB/DataDictionaryManagementMongoDbContextExtensions.cs
delete mode 100644 aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/MongoDB/DataDictionaryManagementMongoDbModule.cs
delete mode 100644 aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/MongoDB/DataDictionaryManagementMongoModelBuilderConfigurationOptions.cs
delete mode 100644 aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/MongoDB/IDataDictionaryManagementMongoDbContext.cs
delete mode 100644 aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/CompanyName.ProjectName.NotificationManagement.MongoDB.csproj
delete mode 100644 aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/FodyWeavers.xml
delete mode 100644 aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/FodyWeavers.xsd
delete mode 100644 aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/MongoDB/INotificationManagementMongoDbContext.cs
delete mode 100644 aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/MongoDB/NotificationManagementMongoDbContext.cs
delete mode 100644 aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/MongoDB/NotificationManagementMongoDbContextExtensions.cs
delete mode 100644 aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/MongoDB/NotificationManagementMongoDbModule.cs
delete mode 100644 aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/MongoDB/NotificationManagementMongoModelBuilderConfigurationOptions.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/CompanyName.ProjectName.QueryManagement.Application.Contracts.csproj
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/ElasticSearchs/ILogAppService.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/FodyWeavers.xml
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/FodyWeavers.xsd
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/Permissions/QueryManagementPermissionDefinitionProvider.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/Permissions/QueryManagementPermissions.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/QueryManagementApplicationContractsModule.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/CompanyName.ProjectName.QueryManagement.Application.csproj
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/ElasticSearchs/LogAppService.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/FodyWeavers.xml
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/FodyWeavers.xsd
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/QueryManagementAppService.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/QueryManagementApplicationAutoMapperProfile.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/QueryManagementApplicationModule.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/CompanyName.ProjectName.QueryManagement.Domain.Shared.csproj
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/ElasticSearchs/Dtos/PagingElasticSearchLogInput.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/ElasticSearchs/Dtos/PagingElasticSearchLogOutput.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/FodyWeavers.xml
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/FodyWeavers.xsd
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/ar.json
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/cs.json
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/de-DE.json
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/en-GB.json
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/en.json
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/es.json
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/fr.json
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/hu.json
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/nl.json
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/pl-PL.json
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/pt-BR.json
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/sl.json
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/tr.json
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/vi.json
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/zh-Hans.json
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/zh-Hant.json
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagementResource.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/QueryManagementDomainSharedModule.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/QueryManagementErrorCodes.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Systems/Users/AbpUserFreeSqlDto.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/CompanyName.ProjectName.QueryManagement.Domain.csproj
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/ElasticSearchs/ICompanyNameProjectNameLogRepository.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/FodyWeavers.xml
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/FodyWeavers.xsd
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/QueryManagementDbProperties.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/QueryManagementDomainModule.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/Settings/QueryManagementSettingDefinitionProvider.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/Settings/QueryManagementSettings.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/Systems/Users/IUserFreeSqlRepository.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.ElasticSearch/CompanyName.ProjectName.QueryManagement.ElasticSearch.csproj
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.ElasticSearch/CompanyNameProjectNameLogRepository.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.ElasticSearch/QueryManagementElasticsearchModule.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.csproj
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/EntityFrameworkCore/IQueryManagementDbContext.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/EntityFrameworkCore/QueryManagementDbContext.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/EntityFrameworkCore/QueryManagementDbContextModelCreatingExtensions.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/EntityFrameworkCore/QueryManagementEntityFrameworkCoreModule.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/EntityFrameworkCore/QueryManagementModelBuilderConfigurationOptions.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/FodyWeavers.xml
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/FodyWeavers.xsd
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.FreeSqlMySql/CompanyName.ProjectName.QueryManagement.FreeSqlMySql.csproj
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.FreeSqlMySql/Systems/Users/UserFreeSqlRepository.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi.Client/CompanyName.ProjectName.QueryManagement.HttpApi.Client.csproj
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi.Client/FodyWeavers.xml
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi.Client/FodyWeavers.xsd
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi.Client/QueryManagementHttpApiClientModule.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi/CompanyName.ProjectName.QueryManagement.HttpApi.csproj
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi/ElasticSearchs/ElasticSearchController.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi/FodyWeavers.xml
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi/FodyWeavers.xsd
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi/QueryManagementController.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi/QueryManagementHttpApiModule.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/CompanyName.ProjectName.QueryManagement.MongoDB.csproj
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/FodyWeavers.xml
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/FodyWeavers.xsd
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/MongoDB/IQueryManagementMongoDbContext.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/MongoDB/QueryManagementMongoDbContext.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/MongoDB/QueryManagementMongoDbContextExtensions.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/MongoDB/QueryManagementMongoDbModule.cs
delete mode 100644 aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/MongoDB/QueryManagementMongoModelBuilderConfigurationOptions.cs
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Application.Tests/CompanyName.ProjectName.QueryManagement.Application.Tests.csproj
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Application.Tests/FodyWeavers.xml
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Application.Tests/FodyWeavers.xsd
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Application.Tests/QueryManagementApplicationTestBase.cs
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Application.Tests/QueryManagementApplicationTestModule.cs
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Domain.Tests/CompanyName.ProjectName.QueryManagement.Domain.Tests.csproj
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Domain.Tests/FodyWeavers.xml
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Domain.Tests/FodyWeavers.xsd
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Domain.Tests/QueryManagementDomainTestBase.cs
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Domain.Tests/QueryManagementDomainTestModule.cs
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Domain.Tests/Samples/SampleManager_Tests.cs
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests.csproj
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests/EntityFrameworkCore/QueryManagementEntityFrameworkCoreTestBase.cs
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests/EntityFrameworkCore/QueryManagementEntityFrameworkCoreTestModule.cs
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests/EntityFrameworkCore/Samples/SampleRepository_Tests.cs
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests/FodyWeavers.xml
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests/FodyWeavers.xsd
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.MongoDB.Tests/CompanyName.ProjectName.QueryManagement.MongoDB.Tests.csproj
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.MongoDB.Tests/FodyWeavers.xml
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.MongoDB.Tests/FodyWeavers.xsd
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.MongoDB.Tests/MongoDB/MongoDbFixture.cs
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.MongoDB.Tests/MongoDB/MongoTestCollection.cs
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.MongoDB.Tests/MongoDB/QueryManagementMongoDbTestBase.cs
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.MongoDB.Tests/MongoDB/QueryManagementMongoDbTestModule.cs
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.MongoDB.Tests/MongoDB/Samples/SampleRepository_Tests.cs
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.TestBase/CompanyName.ProjectName.QueryManagement.TestBase.csproj
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.TestBase/FodyWeavers.xml
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.TestBase/FodyWeavers.xsd
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.TestBase/QueryManagementDataSeedContributor.cs
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.TestBase/QueryManagementTestBase.cs
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.TestBase/QueryManagementTestBaseModule.cs
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.TestBase/Samples/SampleRepository_Tests.cs
delete mode 100644 aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.TestBase/Security/FakeCurrentPrincipalAccessor.cs
create mode 100644 aspnet-core/services/src/CompanyName.ProjectName.Application/HttpClientNameConsts.cs
create mode 100644 aspnet-core/services/src/CompanyName.ProjectName.Domain/Data/Seeds/AbpSettingDataSeedContributor.cs
rename aspnet-core/services/src/CompanyName.ProjectName.Domain/{IdentityServer => Data/Seeds}/IdentityServerDataSeedContributor.cs (100%)
rename aspnet-core/services/src/CompanyName.ProjectName.Domain/{Users => Data/Seeds}/UserDataSeedContributor.cs (100%)
create mode 100644 aspnet-core/services/src/CompanyName.ProjectName.FreeSqlRepository/CompanyName.ProjectName.FreeSqlRepository.csproj
rename aspnet-core/{modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.FreeSqlMySql => services/src/CompanyName.ProjectName.FreeSqlRepository}/FreeSqlBasicRepository.cs (87%)
rename aspnet-core/{modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.FreeSqlMySql/QueryManagementFreeSqlMySqlModule.cs => services/src/CompanyName.ProjectName.FreeSqlRepository/FreeSqlRepositoryModule.cs} (53%)
create mode 100644 aspnet-core/shared/CompanyName.ProjectName.Shared.Hosting.Gateways/CompanyName.ProjectName.Shared.Hosting.Gateways.csproj
create mode 100644 aspnet-core/shared/CompanyName.ProjectName.Shared.Hosting.Gateways/SharedHostingGatewayModule.cs
create mode 100644 aspnet-core/shared/CompanyName.ProjectName.Shared.Hosting.Microservices/CompanyName.ProjectName.Shared.Hosting.Microservices.csproj
create mode 100644 aspnet-core/shared/CompanyName.ProjectName.Shared.Hosting.Microservices/Microsoft/AspNetCore/Builder/ApplicationBuilderExtensions.cs
create mode 100644 aspnet-core/shared/CompanyName.ProjectName.Shared.Hosting.Microservices/Microsoft/Extensions/DependencyInjection/ServiceCollectionExtensions.cs
create mode 100644 aspnet-core/shared/CompanyName.ProjectName.Shared.Hosting.Microservices/SharedHostingMicroserviceModule.cs
create mode 100644 aspnet-core/shared/CompanyName.ProjectName.Shared.Hosting.Microservices/Swaggers/EnumSchemaFilter.cs
create mode 100644 aspnet-core/shared/CompanyName.ProjectName.Shared.Hosting.Microservices/Swaggers/HiddenAbpDefaultApiFilter.cs
create mode 100644 aspnet-core/shared/CompanyName.ProjectName.Shared.Hosting.Microservices/Volo/Abp/DefaultHttpExceptionStatusCodeFinder.cs
diff --git a/aspnet-core/CompanyName.ProjectName.sln b/aspnet-core/CompanyName.ProjectName.sln
index f515f59a..97d91200 100644
--- a/aspnet-core/CompanyName.ProjectName.sln
+++ b/aspnet-core/CompanyName.ProjectName.sln
@@ -51,44 +51,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "frameworks", "frameworks",
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Extensions", "Extensions", "{9F5676A3-00DC-48B7-93D1-341C39E19BB9}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.Extensions", "frameworks\Extensions\src\CompanyName.ProjectName.Extensions\CompanyName.ProjectName.Extensions.csproj", "{7423541F-9BC3-401D-AC0B-5981D53C194C}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{C4AC9352-C9F5-4096-8D73-13638232CFB9}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "QueryManagement", "QueryManagement", "{7596C20A-689E-4EC9-96F4-DB8445892497}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{9528B5B6-C087-4932-92EA-EE486E97AAB0}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{FD0047B9-490E-41DA-B7EE-778F01D06D9F}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.QueryManagement.Application", "modules\QueryManagement\src\CompanyName.ProjectName.QueryManagement.Application\CompanyName.ProjectName.QueryManagement.Application.csproj", "{75F9D251-7F50-46A3-8367-7B0FE7A5FA8E}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.QueryManagement.Application.Contracts", "modules\QueryManagement\src\CompanyName.ProjectName.QueryManagement.Application.Contracts\CompanyName.ProjectName.QueryManagement.Application.Contracts.csproj", "{001E86FF-824E-4112-85AA-3800354F5F2A}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.QueryManagement.Domain", "modules\QueryManagement\src\CompanyName.ProjectName.QueryManagement.Domain\CompanyName.ProjectName.QueryManagement.Domain.csproj", "{C3257A7E-64AA-438E-B615-2DC4BBAD9A7C}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.QueryManagement.Domain.Shared", "modules\QueryManagement\src\CompanyName.ProjectName.QueryManagement.Domain.Shared\CompanyName.ProjectName.QueryManagement.Domain.Shared.csproj", "{69548DCB-B86B-4DAF-93A3-8BF30A7846DD}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.QueryManagement.EntityFrameworkCore", "modules\QueryManagement\src\CompanyName.ProjectName.QueryManagement.EntityFrameworkCore\CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.csproj", "{BC2BB3D6-FECA-4C99-8C65-C0930865BF62}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.QueryManagement.HttpApi", "modules\QueryManagement\src\CompanyName.ProjectName.QueryManagement.HttpApi\CompanyName.ProjectName.QueryManagement.HttpApi.csproj", "{B6468E4A-753B-4256-8DDD-D31673FBA169}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.QueryManagement.HttpApi.Client", "modules\QueryManagement\src\CompanyName.ProjectName.QueryManagement.HttpApi.Client\CompanyName.ProjectName.QueryManagement.HttpApi.Client.csproj", "{1FF1CA56-8206-4152-88FD-F10C9AFA01F0}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.QueryManagement.MongoDB", "modules\QueryManagement\src\CompanyName.ProjectName.QueryManagement.MongoDB\CompanyName.ProjectName.QueryManagement.MongoDB.csproj", "{CED1C499-CD5C-4A16-897A-3FEB05380910}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.QueryManagement.Application.Tests", "modules\QueryManagement\test\CompanyName.ProjectName.QueryManagement.Application.Tests\CompanyName.ProjectName.QueryManagement.Application.Tests.csproj", "{12ED7E9D-E8CB-40FD-8390-CD60BC76C578}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.QueryManagement.Domain.Tests", "modules\QueryManagement\test\CompanyName.ProjectName.QueryManagement.Domain.Tests\CompanyName.ProjectName.QueryManagement.Domain.Tests.csproj", "{C8FC7FE3-F7FE-4D6E-BD65-D1CDEDCC3D80}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests", "modules\QueryManagement\test\CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests\CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests.csproj", "{CB657CB5-35D5-4B46-9588-E974FDB5A8FB}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.QueryManagement.MongoDB.Tests", "modules\QueryManagement\test\CompanyName.ProjectName.QueryManagement.MongoDB.Tests\CompanyName.ProjectName.QueryManagement.MongoDB.Tests.csproj", "{D875344A-04EE-4D09-A1BA-144D46EA5DB9}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.QueryManagement.TestBase", "modules\QueryManagement\test\CompanyName.ProjectName.QueryManagement.TestBase\CompanyName.ProjectName.QueryManagement.TestBase.csproj", "{839291C2-DA87-4226-9A67-A7D364DAE9CB}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.QueryManagement.FreeSqlMySql", "modules\QueryManagement\src\CompanyName.ProjectName.QueryManagement.FreeSqlMySql\CompanyName.ProjectName.QueryManagement.FreeSqlMySql.csproj", "{C8A251F3-74DF-4B4F-B91E-367D1976B99F}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NotificationManagement", "NotificationManagement", "{EB2B8705-18E7-49E1-A565-93A6DE5570D5}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{E28AECBD-2904-477C-9817-C67312330A41}"
@@ -109,16 +73,12 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.Not
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.NotificationManagement.HttpApi.Client", "modules\NotificationManagement\src\CompanyName.ProjectName.NotificationManagement.HttpApi.Client\CompanyName.ProjectName.NotificationManagement.HttpApi.Client.csproj", "{B3554E2E-7150-482F-A08F-DCB8BD166FED}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.NotificationManagement.MongoDB", "modules\NotificationManagement\src\CompanyName.ProjectName.NotificationManagement.MongoDB\CompanyName.ProjectName.NotificationManagement.MongoDB.csproj", "{7614A8FD-D204-47FF-B409-255A0BE3B09A}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.NotificationManagement.Application.Tests", "modules\NotificationManagement\test\CompanyName.ProjectName.NotificationManagement.Application.Tests\CompanyName.ProjectName.NotificationManagement.Application.Tests.csproj", "{22A3A359-C6F4-4540-A61F-C8E94A73C95E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.NotificationManagement.Domain.Tests", "modules\NotificationManagement\test\CompanyName.ProjectName.NotificationManagement.Domain.Tests\CompanyName.ProjectName.NotificationManagement.Domain.Tests.csproj", "{FCE5BD62-F7C7-45EA-80DE-B4880C4A84C6}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.NotificationManagement.EntityFrameworkCore.Tests", "modules\NotificationManagement\test\CompanyName.ProjectName.NotificationManagement.EntityFrameworkCore.Tests\CompanyName.ProjectName.NotificationManagement.EntityFrameworkCore.Tests.csproj", "{19A921F2-1587-4E94-A023-B81956874DAB}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.NotificationManagement.MongoDB.Tests", "modules\NotificationManagement\test\CompanyName.ProjectName.NotificationManagement.MongoDB.Tests\CompanyName.ProjectName.NotificationManagement.MongoDB.Tests.csproj", "{23FA155F-6F79-4DAB-B39B-DD92224E3E4F}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.NotificationManagement.TestBase", "modules\NotificationManagement\test\CompanyName.ProjectName.NotificationManagement.TestBase\CompanyName.ProjectName.NotificationManagement.TestBase.csproj", "{91A3257D-0D1A-479D-8F3C-DBB1944802FE}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DataDictionaryManagement", "DataDictionaryManagement", "{9C53260A-6F4B-4106-98B0-EDCC10BB3E1A}"
@@ -141,16 +101,12 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.Dat
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.DataDictionaryManagement.HttpApi.Client", "modules\DataDictionaryManagement\src\CompanyName.ProjectName.DataDictionaryManagement.HttpApi.Client\CompanyName.ProjectName.DataDictionaryManagement.HttpApi.Client.csproj", "{CC104C76-0CC6-453E-A49D-C4995B6EB72B}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.DataDictionaryManagement.MongoDB", "modules\DataDictionaryManagement\src\CompanyName.ProjectName.DataDictionaryManagement.MongoDB\CompanyName.ProjectName.DataDictionaryManagement.MongoDB.csproj", "{E46D26ED-F43A-4651-8B0E-5566FBE14D89}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.DataDictionaryManagement.Application.Tests", "modules\DataDictionaryManagement\test\CompanyName.ProjectName.DataDictionaryManagement.Application.Tests\CompanyName.ProjectName.DataDictionaryManagement.Application.Tests.csproj", "{13AF64F3-8962-4568-A0E1-833CCA1922D5}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.DataDictionaryManagement.Domain.Tests", "modules\DataDictionaryManagement\test\CompanyName.ProjectName.DataDictionaryManagement.Domain.Tests\CompanyName.ProjectName.DataDictionaryManagement.Domain.Tests.csproj", "{F9FADD90-8634-4B03-AC44-9F6C80B30E73}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.DataDictionaryManagement.EntityFrameworkCore.Tests", "modules\DataDictionaryManagement\test\CompanyName.ProjectName.DataDictionaryManagement.EntityFrameworkCore.Tests\CompanyName.ProjectName.DataDictionaryManagement.EntityFrameworkCore.Tests.csproj", "{8BC28722-20CC-41BD-B183-4E33E94CA2A7}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.DataDictionaryManagement.MongoDB.Tests", "modules\DataDictionaryManagement\test\CompanyName.ProjectName.DataDictionaryManagement.MongoDB.Tests\CompanyName.ProjectName.DataDictionaryManagement.MongoDB.Tests.csproj", "{7327CE44-55FD-4419-AF32-2A6745029732}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CompanyName.ProjectName.DataDictionaryManagement.TestBase", "modules\DataDictionaryManagement\test\CompanyName.ProjectName.DataDictionaryManagement.TestBase\CompanyName.ProjectName.DataDictionaryManagement.TestBase.csproj", "{6A398750-D7D8-43DC-8DF8-AA65C5766154}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "host", "host", "{5AACD0EE-F2B2-49F6-868F-8FE08D7243C0}"
@@ -163,13 +119,35 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CAP", "CAP", "{2C09EED0-5AF
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{11ED8435-B5AE-4BF3-9D4B-51FA1E4A18A6}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompanyName.ProjectName.CAP", "frameworks\CAP\src\CompanyName.ProjectName.CAP\CompanyName.ProjectName.CAP.csproj", "{F59B3C43-0B54-4A3A-AA28-1A50F59D2FC3}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompanyName.ProjectName.HttpApi.Host", "services\host\CompanyName.ProjectName.HttpApi.Host\CompanyName.ProjectName.HttpApi.Host.csproj", "{FB20372D-6C96-4733-9AAC-12522F15CAA6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompanyName.ProjectName.IdentityServer", "services\host\CompanyName.ProjectName.IdentityServer\CompanyName.ProjectName.IdentityServer.csproj", "{FB1C29FF-5467-4CF0-995D-5B3F931AB135}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompanyName.ProjectName.QueryManagement.ElasticSearch", "modules\QueryManagement\src\CompanyName.ProjectName.QueryManagement.ElasticSearch\CompanyName.ProjectName.QueryManagement.ElasticSearch.csproj", "{C9861622-B0CB-4747-82CC-16664648A499}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "shared", "shared", "{6434E3F2-B352-4B30-839A-88C2BA166D96}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompanyName.ProjectName.Shared.Hosting.Microservices", "shared\CompanyName.ProjectName.Shared.Hosting.Microservices\CompanyName.ProjectName.Shared.Hosting.Microservices.csproj", "{A091AE9B-3A1E-49AC-9AD5-D29310512A3D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompanyName.ProjectName.Shared.Hosting.Gateways", "shared\CompanyName.ProjectName.Shared.Hosting.Gateways\CompanyName.ProjectName.Shared.Hosting.Gateways.csproj", "{C018EFF9-579E-43B3-9181-543BE95E2E03}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ElasticSearch", "ElasticSearch", "{3F507591-5C8A-49A7-AB0A-043B64B7EC41}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{1A57338B-65B1-4B8F-ABBD-83F4E8321D8F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.Abp.ElasticSearch", "frameworks\ElasticSearch\src\Lion.Abp.ElasticSearch\Lion.Abp.ElasticSearch.csproj", "{48D938A1-36E4-4AC1-9AF2-645CB75D4A05}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.Abp.Cap", "frameworks\CAP\src\Lion.Abp.Cap\Lion.Abp.Cap.csproj", "{800F4482-EAC3-472B-AF07-53980D47AA41}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.Abp.Extension", "frameworks\Extensions\src\Lion.Abp.Extension\Lion.Abp.Extension.csproj", "{6848FA46-EFFF-4E0C-8EAA-145D8C440333}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lion.Abp.Domain", "frameworks\Extensions\src\Lion.Abp.Domain\Lion.Abp.Domain.csproj", "{1EF5EF2B-323C-4DB0-B08A-37312A68E9DB}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "gateways", "gateways", "{5C304CBC-F30D-413C-A0AF-8B6814A2D4A3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompanyName.ProjectName.PublicGateway", "gateways\CompanyName.ProjectName.PublicGateway\CompanyName.ProjectName.PublicGateway.csproj", "{870364BA-DD5C-4597-9047-BD8A0CA1CFBA}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompanyName.ProjectName.WebGateway", "gateways\CompanyName.ProjectName.WebGateway\CompanyName.ProjectName.WebGateway.csproj", "{D9108313-8D05-4F5F-9AA0-B443EC3374B6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompanyName.ProjectName.FreeSqlRepository", "services\src\CompanyName.ProjectName.FreeSqlRepository\CompanyName.ProjectName.FreeSqlRepository.csproj", "{FC30B17B-F671-4E55-90C6-9F37E40B483D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -233,66 +211,6 @@ Global
{AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Release|Any CPU.Build.0 = Release|Any CPU
- {7423541F-9BC3-401D-AC0B-5981D53C194C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {7423541F-9BC3-401D-AC0B-5981D53C194C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {7423541F-9BC3-401D-AC0B-5981D53C194C}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {7423541F-9BC3-401D-AC0B-5981D53C194C}.Release|Any CPU.Build.0 = Release|Any CPU
- {75F9D251-7F50-46A3-8367-7B0FE7A5FA8E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {75F9D251-7F50-46A3-8367-7B0FE7A5FA8E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {75F9D251-7F50-46A3-8367-7B0FE7A5FA8E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {75F9D251-7F50-46A3-8367-7B0FE7A5FA8E}.Release|Any CPU.Build.0 = Release|Any CPU
- {001E86FF-824E-4112-85AA-3800354F5F2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {001E86FF-824E-4112-85AA-3800354F5F2A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {001E86FF-824E-4112-85AA-3800354F5F2A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {001E86FF-824E-4112-85AA-3800354F5F2A}.Release|Any CPU.Build.0 = Release|Any CPU
- {C3257A7E-64AA-438E-B615-2DC4BBAD9A7C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C3257A7E-64AA-438E-B615-2DC4BBAD9A7C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C3257A7E-64AA-438E-B615-2DC4BBAD9A7C}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C3257A7E-64AA-438E-B615-2DC4BBAD9A7C}.Release|Any CPU.Build.0 = Release|Any CPU
- {69548DCB-B86B-4DAF-93A3-8BF30A7846DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {69548DCB-B86B-4DAF-93A3-8BF30A7846DD}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {69548DCB-B86B-4DAF-93A3-8BF30A7846DD}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {69548DCB-B86B-4DAF-93A3-8BF30A7846DD}.Release|Any CPU.Build.0 = Release|Any CPU
- {BC2BB3D6-FECA-4C99-8C65-C0930865BF62}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {BC2BB3D6-FECA-4C99-8C65-C0930865BF62}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {BC2BB3D6-FECA-4C99-8C65-C0930865BF62}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {BC2BB3D6-FECA-4C99-8C65-C0930865BF62}.Release|Any CPU.Build.0 = Release|Any CPU
- {B6468E4A-753B-4256-8DDD-D31673FBA169}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B6468E4A-753B-4256-8DDD-D31673FBA169}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B6468E4A-753B-4256-8DDD-D31673FBA169}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B6468E4A-753B-4256-8DDD-D31673FBA169}.Release|Any CPU.Build.0 = Release|Any CPU
- {1FF1CA56-8206-4152-88FD-F10C9AFA01F0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1FF1CA56-8206-4152-88FD-F10C9AFA01F0}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1FF1CA56-8206-4152-88FD-F10C9AFA01F0}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1FF1CA56-8206-4152-88FD-F10C9AFA01F0}.Release|Any CPU.Build.0 = Release|Any CPU
- {CED1C499-CD5C-4A16-897A-3FEB05380910}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {CED1C499-CD5C-4A16-897A-3FEB05380910}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {CED1C499-CD5C-4A16-897A-3FEB05380910}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {CED1C499-CD5C-4A16-897A-3FEB05380910}.Release|Any CPU.Build.0 = Release|Any CPU
- {12ED7E9D-E8CB-40FD-8390-CD60BC76C578}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {12ED7E9D-E8CB-40FD-8390-CD60BC76C578}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {12ED7E9D-E8CB-40FD-8390-CD60BC76C578}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {12ED7E9D-E8CB-40FD-8390-CD60BC76C578}.Release|Any CPU.Build.0 = Release|Any CPU
- {C8FC7FE3-F7FE-4D6E-BD65-D1CDEDCC3D80}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C8FC7FE3-F7FE-4D6E-BD65-D1CDEDCC3D80}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C8FC7FE3-F7FE-4D6E-BD65-D1CDEDCC3D80}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C8FC7FE3-F7FE-4D6E-BD65-D1CDEDCC3D80}.Release|Any CPU.Build.0 = Release|Any CPU
- {CB657CB5-35D5-4B46-9588-E974FDB5A8FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {CB657CB5-35D5-4B46-9588-E974FDB5A8FB}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {CB657CB5-35D5-4B46-9588-E974FDB5A8FB}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {CB657CB5-35D5-4B46-9588-E974FDB5A8FB}.Release|Any CPU.Build.0 = Release|Any CPU
- {D875344A-04EE-4D09-A1BA-144D46EA5DB9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D875344A-04EE-4D09-A1BA-144D46EA5DB9}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D875344A-04EE-4D09-A1BA-144D46EA5DB9}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D875344A-04EE-4D09-A1BA-144D46EA5DB9}.Release|Any CPU.Build.0 = Release|Any CPU
- {839291C2-DA87-4226-9A67-A7D364DAE9CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {839291C2-DA87-4226-9A67-A7D364DAE9CB}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {839291C2-DA87-4226-9A67-A7D364DAE9CB}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {839291C2-DA87-4226-9A67-A7D364DAE9CB}.Release|Any CPU.Build.0 = Release|Any CPU
- {C8A251F3-74DF-4B4F-B91E-367D1976B99F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C8A251F3-74DF-4B4F-B91E-367D1976B99F}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C8A251F3-74DF-4B4F-B91E-367D1976B99F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C8A251F3-74DF-4B4F-B91E-367D1976B99F}.Release|Any CPU.Build.0 = Release|Any CPU
{3E69D96A-F923-4AC4-8430-9AAB84B6A3FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3E69D96A-F923-4AC4-8430-9AAB84B6A3FE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3E69D96A-F923-4AC4-8430-9AAB84B6A3FE}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -321,10 +239,6 @@ Global
{B3554E2E-7150-482F-A08F-DCB8BD166FED}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B3554E2E-7150-482F-A08F-DCB8BD166FED}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B3554E2E-7150-482F-A08F-DCB8BD166FED}.Release|Any CPU.Build.0 = Release|Any CPU
- {7614A8FD-D204-47FF-B409-255A0BE3B09A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {7614A8FD-D204-47FF-B409-255A0BE3B09A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {7614A8FD-D204-47FF-B409-255A0BE3B09A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {7614A8FD-D204-47FF-B409-255A0BE3B09A}.Release|Any CPU.Build.0 = Release|Any CPU
{22A3A359-C6F4-4540-A61F-C8E94A73C95E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{22A3A359-C6F4-4540-A61F-C8E94A73C95E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{22A3A359-C6F4-4540-A61F-C8E94A73C95E}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -337,10 +251,6 @@ Global
{19A921F2-1587-4E94-A023-B81956874DAB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{19A921F2-1587-4E94-A023-B81956874DAB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{19A921F2-1587-4E94-A023-B81956874DAB}.Release|Any CPU.Build.0 = Release|Any CPU
- {23FA155F-6F79-4DAB-B39B-DD92224E3E4F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {23FA155F-6F79-4DAB-B39B-DD92224E3E4F}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {23FA155F-6F79-4DAB-B39B-DD92224E3E4F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {23FA155F-6F79-4DAB-B39B-DD92224E3E4F}.Release|Any CPU.Build.0 = Release|Any CPU
{91A3257D-0D1A-479D-8F3C-DBB1944802FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{91A3257D-0D1A-479D-8F3C-DBB1944802FE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{91A3257D-0D1A-479D-8F3C-DBB1944802FE}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -373,10 +283,6 @@ Global
{CC104C76-0CC6-453E-A49D-C4995B6EB72B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CC104C76-0CC6-453E-A49D-C4995B6EB72B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CC104C76-0CC6-453E-A49D-C4995B6EB72B}.Release|Any CPU.Build.0 = Release|Any CPU
- {E46D26ED-F43A-4651-8B0E-5566FBE14D89}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E46D26ED-F43A-4651-8B0E-5566FBE14D89}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E46D26ED-F43A-4651-8B0E-5566FBE14D89}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E46D26ED-F43A-4651-8B0E-5566FBE14D89}.Release|Any CPU.Build.0 = Release|Any CPU
{13AF64F3-8962-4568-A0E1-833CCA1922D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{13AF64F3-8962-4568-A0E1-833CCA1922D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{13AF64F3-8962-4568-A0E1-833CCA1922D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -389,10 +295,6 @@ Global
{8BC28722-20CC-41BD-B183-4E33E94CA2A7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8BC28722-20CC-41BD-B183-4E33E94CA2A7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8BC28722-20CC-41BD-B183-4E33E94CA2A7}.Release|Any CPU.Build.0 = Release|Any CPU
- {7327CE44-55FD-4419-AF32-2A6745029732}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {7327CE44-55FD-4419-AF32-2A6745029732}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {7327CE44-55FD-4419-AF32-2A6745029732}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {7327CE44-55FD-4419-AF32-2A6745029732}.Release|Any CPU.Build.0 = Release|Any CPU
{6A398750-D7D8-43DC-8DF8-AA65C5766154}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6A398750-D7D8-43DC-8DF8-AA65C5766154}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6A398750-D7D8-43DC-8DF8-AA65C5766154}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -401,10 +303,6 @@ Global
{8D196E3D-6F95-4793-B948-79669AF09017}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8D196E3D-6F95-4793-B948-79669AF09017}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8D196E3D-6F95-4793-B948-79669AF09017}.Release|Any CPU.Build.0 = Release|Any CPU
- {F59B3C43-0B54-4A3A-AA28-1A50F59D2FC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {F59B3C43-0B54-4A3A-AA28-1A50F59D2FC3}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {F59B3C43-0B54-4A3A-AA28-1A50F59D2FC3}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {F59B3C43-0B54-4A3A-AA28-1A50F59D2FC3}.Release|Any CPU.Build.0 = Release|Any CPU
{FB20372D-6C96-4733-9AAC-12522F15CAA6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FB20372D-6C96-4733-9AAC-12522F15CAA6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FB20372D-6C96-4733-9AAC-12522F15CAA6}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -413,10 +311,42 @@ Global
{FB1C29FF-5467-4CF0-995D-5B3F931AB135}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FB1C29FF-5467-4CF0-995D-5B3F931AB135}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FB1C29FF-5467-4CF0-995D-5B3F931AB135}.Release|Any CPU.Build.0 = Release|Any CPU
- {C9861622-B0CB-4747-82CC-16664648A499}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C9861622-B0CB-4747-82CC-16664648A499}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C9861622-B0CB-4747-82CC-16664648A499}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C9861622-B0CB-4747-82CC-16664648A499}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A091AE9B-3A1E-49AC-9AD5-D29310512A3D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A091AE9B-3A1E-49AC-9AD5-D29310512A3D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A091AE9B-3A1E-49AC-9AD5-D29310512A3D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A091AE9B-3A1E-49AC-9AD5-D29310512A3D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C018EFF9-579E-43B3-9181-543BE95E2E03}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C018EFF9-579E-43B3-9181-543BE95E2E03}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C018EFF9-579E-43B3-9181-543BE95E2E03}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C018EFF9-579E-43B3-9181-543BE95E2E03}.Release|Any CPU.Build.0 = Release|Any CPU
+ {48D938A1-36E4-4AC1-9AF2-645CB75D4A05}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {48D938A1-36E4-4AC1-9AF2-645CB75D4A05}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {48D938A1-36E4-4AC1-9AF2-645CB75D4A05}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {48D938A1-36E4-4AC1-9AF2-645CB75D4A05}.Release|Any CPU.Build.0 = Release|Any CPU
+ {800F4482-EAC3-472B-AF07-53980D47AA41}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {800F4482-EAC3-472B-AF07-53980D47AA41}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {800F4482-EAC3-472B-AF07-53980D47AA41}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {800F4482-EAC3-472B-AF07-53980D47AA41}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6848FA46-EFFF-4E0C-8EAA-145D8C440333}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6848FA46-EFFF-4E0C-8EAA-145D8C440333}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6848FA46-EFFF-4E0C-8EAA-145D8C440333}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6848FA46-EFFF-4E0C-8EAA-145D8C440333}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1EF5EF2B-323C-4DB0-B08A-37312A68E9DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1EF5EF2B-323C-4DB0-B08A-37312A68E9DB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1EF5EF2B-323C-4DB0-B08A-37312A68E9DB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1EF5EF2B-323C-4DB0-B08A-37312A68E9DB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {870364BA-DD5C-4597-9047-BD8A0CA1CFBA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {870364BA-DD5C-4597-9047-BD8A0CA1CFBA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {870364BA-DD5C-4597-9047-BD8A0CA1CFBA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {870364BA-DD5C-4597-9047-BD8A0CA1CFBA}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D9108313-8D05-4F5F-9AA0-B443EC3374B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D9108313-8D05-4F5F-9AA0-B443EC3374B6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D9108313-8D05-4F5F-9AA0-B443EC3374B6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D9108313-8D05-4F5F-9AA0-B443EC3374B6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FC30B17B-F671-4E55-90C6-9F37E40B483D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FC30B17B-F671-4E55-90C6-9F37E40B483D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FC30B17B-F671-4E55-90C6-9F37E40B483D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FC30B17B-F671-4E55-90C6-9F37E40B483D}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -439,25 +369,7 @@ Global
{EF480016-9127-4916-8735-D2466BDBC582} = {04DBDB01-70F4-4E06-B468-8F87850B22BE}
{AA94D832-1CCC-4715-95A9-A483F23A1A5D} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
{9F5676A3-00DC-48B7-93D1-341C39E19BB9} = {CC2EBB07-A070-4158-AB37-A0C0BBAEA9F5}
- {7423541F-9BC3-401D-AC0B-5981D53C194C} = {C4AC9352-C9F5-4096-8D73-13638232CFB9}
{C4AC9352-C9F5-4096-8D73-13638232CFB9} = {9F5676A3-00DC-48B7-93D1-341C39E19BB9}
- {7596C20A-689E-4EC9-96F4-DB8445892497} = {F8A8EB2A-2D4B-464F-9A13-F8F7B6A8FAA3}
- {9528B5B6-C087-4932-92EA-EE486E97AAB0} = {7596C20A-689E-4EC9-96F4-DB8445892497}
- {FD0047B9-490E-41DA-B7EE-778F01D06D9F} = {7596C20A-689E-4EC9-96F4-DB8445892497}
- {75F9D251-7F50-46A3-8367-7B0FE7A5FA8E} = {9528B5B6-C087-4932-92EA-EE486E97AAB0}
- {001E86FF-824E-4112-85AA-3800354F5F2A} = {9528B5B6-C087-4932-92EA-EE486E97AAB0}
- {C3257A7E-64AA-438E-B615-2DC4BBAD9A7C} = {9528B5B6-C087-4932-92EA-EE486E97AAB0}
- {69548DCB-B86B-4DAF-93A3-8BF30A7846DD} = {9528B5B6-C087-4932-92EA-EE486E97AAB0}
- {BC2BB3D6-FECA-4C99-8C65-C0930865BF62} = {9528B5B6-C087-4932-92EA-EE486E97AAB0}
- {B6468E4A-753B-4256-8DDD-D31673FBA169} = {9528B5B6-C087-4932-92EA-EE486E97AAB0}
- {1FF1CA56-8206-4152-88FD-F10C9AFA01F0} = {9528B5B6-C087-4932-92EA-EE486E97AAB0}
- {CED1C499-CD5C-4A16-897A-3FEB05380910} = {9528B5B6-C087-4932-92EA-EE486E97AAB0}
- {12ED7E9D-E8CB-40FD-8390-CD60BC76C578} = {FD0047B9-490E-41DA-B7EE-778F01D06D9F}
- {C8FC7FE3-F7FE-4D6E-BD65-D1CDEDCC3D80} = {FD0047B9-490E-41DA-B7EE-778F01D06D9F}
- {CB657CB5-35D5-4B46-9588-E974FDB5A8FB} = {FD0047B9-490E-41DA-B7EE-778F01D06D9F}
- {D875344A-04EE-4D09-A1BA-144D46EA5DB9} = {FD0047B9-490E-41DA-B7EE-778F01D06D9F}
- {839291C2-DA87-4226-9A67-A7D364DAE9CB} = {FD0047B9-490E-41DA-B7EE-778F01D06D9F}
- {C8A251F3-74DF-4B4F-B91E-367D1976B99F} = {9528B5B6-C087-4932-92EA-EE486E97AAB0}
{EB2B8705-18E7-49E1-A565-93A6DE5570D5} = {F8A8EB2A-2D4B-464F-9A13-F8F7B6A8FAA3}
{E28AECBD-2904-477C-9817-C67312330A41} = {EB2B8705-18E7-49E1-A565-93A6DE5570D5}
{120FE15B-3E5C-4BFF-B874-F09235C9E1ED} = {EB2B8705-18E7-49E1-A565-93A6DE5570D5}
@@ -468,11 +380,9 @@ Global
{10DF0925-A1EE-4B1C-AAF6-249C6D02424C} = {E28AECBD-2904-477C-9817-C67312330A41}
{0880AA9C-0E45-43B3-B02A-093736CDD961} = {E28AECBD-2904-477C-9817-C67312330A41}
{B3554E2E-7150-482F-A08F-DCB8BD166FED} = {E28AECBD-2904-477C-9817-C67312330A41}
- {7614A8FD-D204-47FF-B409-255A0BE3B09A} = {E28AECBD-2904-477C-9817-C67312330A41}
{22A3A359-C6F4-4540-A61F-C8E94A73C95E} = {120FE15B-3E5C-4BFF-B874-F09235C9E1ED}
{FCE5BD62-F7C7-45EA-80DE-B4880C4A84C6} = {120FE15B-3E5C-4BFF-B874-F09235C9E1ED}
{19A921F2-1587-4E94-A023-B81956874DAB} = {120FE15B-3E5C-4BFF-B874-F09235C9E1ED}
- {23FA155F-6F79-4DAB-B39B-DD92224E3E4F} = {120FE15B-3E5C-4BFF-B874-F09235C9E1ED}
{91A3257D-0D1A-479D-8F3C-DBB1944802FE} = {120FE15B-3E5C-4BFF-B874-F09235C9E1ED}
{9C53260A-6F4B-4106-98B0-EDCC10BB3E1A} = {F8A8EB2A-2D4B-464F-9A13-F8F7B6A8FAA3}
{D1CFD035-1562-42CF-A96A-0E2EA8D92E80} = {9C53260A-6F4B-4106-98B0-EDCC10BB3E1A}
@@ -484,21 +394,28 @@ Global
{DE15C716-E1C3-4FC3-B976-7EA06EBF23F5} = {D1CFD035-1562-42CF-A96A-0E2EA8D92E80}
{430D3AF9-DCCF-4B6F-BFAF-1ECC2F0594A2} = {D1CFD035-1562-42CF-A96A-0E2EA8D92E80}
{CC104C76-0CC6-453E-A49D-C4995B6EB72B} = {D1CFD035-1562-42CF-A96A-0E2EA8D92E80}
- {E46D26ED-F43A-4651-8B0E-5566FBE14D89} = {D1CFD035-1562-42CF-A96A-0E2EA8D92E80}
{13AF64F3-8962-4568-A0E1-833CCA1922D5} = {E76E35FC-B62E-48D5-A7AF-79375CFD20BD}
{F9FADD90-8634-4B03-AC44-9F6C80B30E73} = {E76E35FC-B62E-48D5-A7AF-79375CFD20BD}
{8BC28722-20CC-41BD-B183-4E33E94CA2A7} = {E76E35FC-B62E-48D5-A7AF-79375CFD20BD}
- {7327CE44-55FD-4419-AF32-2A6745029732} = {E76E35FC-B62E-48D5-A7AF-79375CFD20BD}
{6A398750-D7D8-43DC-8DF8-AA65C5766154} = {E76E35FC-B62E-48D5-A7AF-79375CFD20BD}
{5AACD0EE-F2B2-49F6-868F-8FE08D7243C0} = {9C53260A-6F4B-4106-98B0-EDCC10BB3E1A}
{8D196E3D-6F95-4793-B948-79669AF09017} = {5AACD0EE-F2B2-49F6-868F-8FE08D7243C0}
{8C1B8C6C-C518-4290-B070-622CCA6004DA} = {2C861ADD-76E9-4B3B-8A3C-638EBB67D683}
{2C09EED0-5AF6-4F1E-B05A-FB3272EDF6E8} = {CC2EBB07-A070-4158-AB37-A0C0BBAEA9F5}
{11ED8435-B5AE-4BF3-9D4B-51FA1E4A18A6} = {2C09EED0-5AF6-4F1E-B05A-FB3272EDF6E8}
- {F59B3C43-0B54-4A3A-AA28-1A50F59D2FC3} = {11ED8435-B5AE-4BF3-9D4B-51FA1E4A18A6}
{FB20372D-6C96-4733-9AAC-12522F15CAA6} = {8C1B8C6C-C518-4290-B070-622CCA6004DA}
{FB1C29FF-5467-4CF0-995D-5B3F931AB135} = {8C1B8C6C-C518-4290-B070-622CCA6004DA}
- {C9861622-B0CB-4747-82CC-16664648A499} = {9528B5B6-C087-4932-92EA-EE486E97AAB0}
+ {A091AE9B-3A1E-49AC-9AD5-D29310512A3D} = {6434E3F2-B352-4B30-839A-88C2BA166D96}
+ {C018EFF9-579E-43B3-9181-543BE95E2E03} = {6434E3F2-B352-4B30-839A-88C2BA166D96}
+ {3F507591-5C8A-49A7-AB0A-043B64B7EC41} = {CC2EBB07-A070-4158-AB37-A0C0BBAEA9F5}
+ {1A57338B-65B1-4B8F-ABBD-83F4E8321D8F} = {3F507591-5C8A-49A7-AB0A-043B64B7EC41}
+ {48D938A1-36E4-4AC1-9AF2-645CB75D4A05} = {1A57338B-65B1-4B8F-ABBD-83F4E8321D8F}
+ {800F4482-EAC3-472B-AF07-53980D47AA41} = {11ED8435-B5AE-4BF3-9D4B-51FA1E4A18A6}
+ {6848FA46-EFFF-4E0C-8EAA-145D8C440333} = {C4AC9352-C9F5-4096-8D73-13638232CFB9}
+ {1EF5EF2B-323C-4DB0-B08A-37312A68E9DB} = {C4AC9352-C9F5-4096-8D73-13638232CFB9}
+ {870364BA-DD5C-4597-9047-BD8A0CA1CFBA} = {5C304CBC-F30D-413C-A0AF-8B6814A2D4A3}
+ {D9108313-8D05-4F5F-9AA0-B443EC3374B6} = {5C304CBC-F30D-413C-A0AF-8B6814A2D4A3}
+ {FC30B17B-F671-4E55-90C6-9F37E40B483D} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {28315BFD-90E7-4E14-A2EA-F3D23AF4126F}
diff --git a/aspnet-core/frameworks/CAP/src/CompanyName.ProjectName.CAP/CompanyName.ProjectName.CAP.csproj b/aspnet-core/frameworks/CAP/src/Lion.Abp.Cap/Lion.Abp.Cap.csproj
similarity index 58%
rename from aspnet-core/frameworks/CAP/src/CompanyName.ProjectName.CAP/CompanyName.ProjectName.CAP.csproj
rename to aspnet-core/frameworks/CAP/src/Lion.Abp.Cap/Lion.Abp.Cap.csproj
index a66439af..4abac2ea 100644
--- a/aspnet-core/frameworks/CAP/src/CompanyName.ProjectName.CAP/CompanyName.ProjectName.CAP.csproj
+++ b/aspnet-core/frameworks/CAP/src/Lion.Abp.Cap/Lion.Abp.Cap.csproj
@@ -3,16 +3,15 @@
net5.0
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
diff --git a/aspnet-core/frameworks/CAP/src/CompanyName.ProjectName.CAP/AbpCapConsumerServiceSelector.cs b/aspnet-core/frameworks/CAP/src/Lion.Abp.Cap/LionAbpCapConsumerServiceSelector.cs
similarity index 96%
rename from aspnet-core/frameworks/CAP/src/CompanyName.ProjectName.CAP/AbpCapConsumerServiceSelector.cs
rename to aspnet-core/frameworks/CAP/src/Lion.Abp.Cap/LionAbpCapConsumerServiceSelector.cs
index 09bcc232..46bd0f9a 100644
--- a/aspnet-core/frameworks/CAP/src/CompanyName.ProjectName.CAP/AbpCapConsumerServiceSelector.cs
+++ b/aspnet-core/frameworks/CAP/src/Lion.Abp.Cap/LionAbpCapConsumerServiceSelector.cs
@@ -10,11 +10,11 @@ using Volo.Abp.DependencyInjection;
using Volo.Abp.EventBus;
using Volo.Abp.EventBus.Distributed;
-namespace CompanyName.ProjectName.CAP
+namespace Lion.Abp.Cap
{
[Dependency(ServiceLifetime.Singleton, ReplaceServices = true)]
[ExposeServices(typeof(IConsumerServiceSelector))]
- public class AbpCapConsumerServiceSelector : ConsumerServiceSelector
+ public class LionAbpCapConsumerServiceSelector : ConsumerServiceSelector
{
protected AbpDistributedEventBusOptions AbpDistributedEventBusOptions { get; }
protected IServiceProvider ServiceProvider { get; }
@@ -22,7 +22,7 @@ namespace CompanyName.ProjectName.CAP
///
/// Creates a new .
///
- public AbpCapConsumerServiceSelector(
+ public LionAbpCapConsumerServiceSelector(
IServiceProvider serviceProvider,
IOptions distributedEventBusOptions)
: base(serviceProvider)
diff --git a/aspnet-core/frameworks/CAP/src/CompanyName.ProjectName.CAP/AbpCapDistributedEventBus.cs b/aspnet-core/frameworks/CAP/src/Lion.Abp.Cap/LionAbpCapDistributedEventBus.cs
similarity index 97%
rename from aspnet-core/frameworks/CAP/src/CompanyName.ProjectName.CAP/AbpCapDistributedEventBus.cs
rename to aspnet-core/frameworks/CAP/src/Lion.Abp.Cap/LionAbpCapDistributedEventBus.cs
index 9a91f867..473411d8 100644
--- a/aspnet-core/frameworks/CAP/src/CompanyName.ProjectName.CAP/AbpCapDistributedEventBus.cs
+++ b/aspnet-core/frameworks/CAP/src/Lion.Abp.Cap/LionAbpCapDistributedEventBus.cs
@@ -14,9 +14,9 @@ using Volo.Abp.MultiTenancy;
using Volo.Abp.Threading;
-namespace CompanyName.ProjectName.CAP
+namespace Lion.Abp.Cap
{
- public class AbpCapDistributedEventBus :
+ public class LionAbpCapDistributedEventBus :
EventBusBase,
IDistributedEventBus,
ISingletonDependency
@@ -27,7 +27,7 @@ namespace CompanyName.ProjectName.CAP
protected readonly ICapPublisher CapPublisher;
- public AbpCapDistributedEventBus(IServiceScopeFactory serviceScopeFactory,
+ public LionAbpCapDistributedEventBus(IServiceScopeFactory serviceScopeFactory,
IOptions distributedEventBusOptions,
ICapPublisher capPublisher,
ICurrentTenant currentTenant,
diff --git a/aspnet-core/frameworks/CAP/src/CompanyName.ProjectName.CAP/AbpCapModule.cs b/aspnet-core/frameworks/CAP/src/Lion.Abp.Cap/LionAbpCapModule.cs
similarity index 58%
rename from aspnet-core/frameworks/CAP/src/CompanyName.ProjectName.CAP/AbpCapModule.cs
rename to aspnet-core/frameworks/CAP/src/Lion.Abp.Cap/LionAbpCapModule.cs
index 174aeba7..a6af78d7 100644
--- a/aspnet-core/frameworks/CAP/src/CompanyName.ProjectName.CAP/AbpCapModule.cs
+++ b/aspnet-core/frameworks/CAP/src/Lion.Abp.Cap/LionAbpCapModule.cs
@@ -1,10 +1,10 @@
using Volo.Abp.EventBus;
using Volo.Abp.Modularity;
-namespace CompanyName.ProjectName.CAP
+namespace Lion.Abp.Cap
{
[DependsOn(typeof(AbpEventBusModule))]
- public class AbpCapModule : AbpModule
+ public class LionAbpCapModule : AbpModule
{
}
}
\ No newline at end of file
diff --git a/aspnet-core/frameworks/CAP/src/CompanyName.ProjectName.CAP/AbpCapServiceCollectionExtensions.cs b/aspnet-core/frameworks/CAP/src/Lion.Abp.Cap/LionAbpCapServiceCollectionExtensions.cs
similarity index 85%
rename from aspnet-core/frameworks/CAP/src/CompanyName.ProjectName.CAP/AbpCapServiceCollectionExtensions.cs
rename to aspnet-core/frameworks/CAP/src/Lion.Abp.Cap/LionAbpCapServiceCollectionExtensions.cs
index a67fc0e8..c7259f43 100644
--- a/aspnet-core/frameworks/CAP/src/CompanyName.ProjectName.CAP/AbpCapServiceCollectionExtensions.cs
+++ b/aspnet-core/frameworks/CAP/src/Lion.Abp.Cap/LionAbpCapServiceCollectionExtensions.cs
@@ -5,7 +5,7 @@ using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.EventBus.Distributed;
using Volo.Abp.Modularity;
-namespace CompanyName.ProjectName.CAP
+namespace Lion.Abp.Cap
{
public static class AbpCapServiceCollectionExtensions
{
@@ -14,8 +14,8 @@ namespace CompanyName.ProjectName.CAP
Action capAction)
{
context.Services.AddCap(capAction);
- context.Services.AddSingleton();
- context.Services.AddSingleton();
+ context.Services.AddSingleton();
+ context.Services.AddSingleton();
return context;
}
}
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.ElasticSearch/ElasticsearchBasicRepository.cs b/aspnet-core/frameworks/ElasticSearch/src/Lion.Abp.ElasticSearch/ElasticsearchBasicRepository.cs
similarity index 82%
rename from aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.ElasticSearch/ElasticsearchBasicRepository.cs
rename to aspnet-core/frameworks/ElasticSearch/src/Lion.Abp.ElasticSearch/ElasticsearchBasicRepository.cs
index cbb47496..0f62da8f 100644
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.ElasticSearch/ElasticsearchBasicRepository.cs
+++ b/aspnet-core/frameworks/ElasticSearch/src/Lion.Abp.ElasticSearch/ElasticsearchBasicRepository.cs
@@ -1,12 +1,13 @@
using Nest;
using Volo.Abp.Domain.Services;
-namespace CompanyName.ProjectName.QueryManagement.ElasticSearch
+namespace Lion.Abp.ElasticSearch
{
public abstract class ElasticsearchBasicRepository : DomainService
{
private readonly IElasticsearchProvider _elasticsearchProvider;
+ // ReSharper disable once PublicConstructorInAbstractClass
public ElasticsearchBasicRepository(IElasticsearchProvider elasticsearchProvider)
{
_elasticsearchProvider = elasticsearchProvider;
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.ElasticSearch/ElasticsearchProvider.cs b/aspnet-core/frameworks/ElasticSearch/src/Lion.Abp.ElasticSearch/ElasticsearchProvider.cs
similarity index 73%
rename from aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.ElasticSearch/ElasticsearchProvider.cs
rename to aspnet-core/frameworks/ElasticSearch/src/Lion.Abp.ElasticSearch/ElasticsearchProvider.cs
index 19a42ac8..b28fa7c3 100644
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.ElasticSearch/ElasticsearchProvider.cs
+++ b/aspnet-core/frameworks/ElasticSearch/src/Lion.Abp.ElasticSearch/ElasticsearchProvider.cs
@@ -4,7 +4,7 @@ using Microsoft.Extensions.Configuration;
using Nest;
using Volo.Abp.DependencyInjection;
-namespace CompanyName.ProjectName.QueryManagement.ElasticSearch
+namespace Lion.Abp.ElasticSearch
{
public class ElasticsearchProvider : IElasticsearchProvider, ISingletonDependency
{
@@ -17,13 +17,12 @@ namespace CompanyName.ProjectName.QueryManagement.ElasticSearch
public IElasticClient GetElasticClient()
{
- var pool = new SingleNodeConnectionPool(new Uri(_configuration.GetValue("LogToElasticSearch:ElasticSearch:Url")));
+ var pool = new SingleNodeConnectionPool(new Uri(_configuration.GetValue("ElasticSearch:Url")));
var connectionSettings =
new ConnectionSettings(pool);
connectionSettings.EnableHttpCompression();
- connectionSettings.BasicAuthentication(_configuration.GetValue("LogToElasticSearch:ElasticSearch:UserName"),
- _configuration.GetValue("LogToElasticSearch:ElasticSearch:Password"));
-
+ connectionSettings.BasicAuthentication(_configuration.GetValue("ElasticSearch:UserName"),
+ _configuration.GetValue("ElasticSearch:Password"));
return new ElasticClient(connectionSettings);
}
}
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.ElasticSearch/IElasticsearchProvider.cs b/aspnet-core/frameworks/ElasticSearch/src/Lion.Abp.ElasticSearch/IElasticsearchProvider.cs
similarity index 63%
rename from aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.ElasticSearch/IElasticsearchProvider.cs
rename to aspnet-core/frameworks/ElasticSearch/src/Lion.Abp.ElasticSearch/IElasticsearchProvider.cs
index 4aba5714..52bcb74b 100644
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.ElasticSearch/IElasticsearchProvider.cs
+++ b/aspnet-core/frameworks/ElasticSearch/src/Lion.Abp.ElasticSearch/IElasticsearchProvider.cs
@@ -1,8 +1,7 @@
-using System;
-using Nest;
+using Nest;
using Volo.Abp.DependencyInjection;
-namespace CompanyName.ProjectName.QueryManagement.ElasticSearch
+namespace Lion.Abp.ElasticSearch
{
public interface IElasticsearchProvider : ISingletonDependency
{
diff --git a/aspnet-core/frameworks/ElasticSearch/src/Lion.Abp.ElasticSearch/Lion.Abp.ElasticSearch.csproj b/aspnet-core/frameworks/ElasticSearch/src/Lion.Abp.ElasticSearch/Lion.Abp.ElasticSearch.csproj
new file mode 100644
index 00000000..fc45aead
--- /dev/null
+++ b/aspnet-core/frameworks/ElasticSearch/src/Lion.Abp.ElasticSearch/Lion.Abp.ElasticSearch.csproj
@@ -0,0 +1,10 @@
+
+
+
+ net5.0
+
+
+
+
+
+
diff --git a/aspnet-core/frameworks/ElasticSearch/src/Lion.Abp.ElasticSearch/LionAbpElasticSearchModule.cs b/aspnet-core/frameworks/ElasticSearch/src/Lion.Abp.ElasticSearch/LionAbpElasticSearchModule.cs
new file mode 100644
index 00000000..76d7aee4
--- /dev/null
+++ b/aspnet-core/frameworks/ElasticSearch/src/Lion.Abp.ElasticSearch/LionAbpElasticSearchModule.cs
@@ -0,0 +1,9 @@
+using System;
+using Volo.Abp.Modularity;
+
+namespace Lion.Abp.ElasticSearch
+{
+ public class LionAbpElasticSearchModule : AbpModule
+ {
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Domain/Lion.Abp.Domain.csproj b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Domain/Lion.Abp.Domain.csproj
new file mode 100644
index 00000000..a34a15b3
--- /dev/null
+++ b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Domain/Lion.Abp.Domain.csproj
@@ -0,0 +1,12 @@
+
+
+
+ net5.0
+
+
+
+
+
+
+
+
diff --git a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Domain/LionAbpDomainModule.cs b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Domain/LionAbpDomainModule.cs
new file mode 100644
index 00000000..24820528
--- /dev/null
+++ b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Domain/LionAbpDomainModule.cs
@@ -0,0 +1,13 @@
+using Volo.Abp.Domain;
+using Volo.Abp.Modularity;
+using Volo.Abp.ObjectMapping;
+
+namespace Lion.Abp.Domain
+{
+ [DependsOn(
+ typeof(AbpDddDomainModule),
+ typeof(AbpObjectMappingModule))]
+ public class LionAbpDomainModule : AbpModule
+ {
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Domain/LionAbpDomainService.cs b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Domain/LionAbpDomainService.cs
new file mode 100644
index 00000000..1a3f4c75
--- /dev/null
+++ b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Domain/LionAbpDomainService.cs
@@ -0,0 +1,36 @@
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Volo.Abp.Domain.Services;
+using Volo.Abp.EventBus.Distributed;
+using Volo.Abp.ObjectMapping;
+using Volo.Abp.Uow;
+
+namespace Lion.Abp.Domain
+{
+ public abstract class LionAbpDomainService : DomainService
+ {
+ protected Type ObjectMapperContext { get; set; }
+
+ ///
+ /// 工作单元管理器
+ ///
+ protected IUnitOfWorkManager UnitOfWorkManager =>
+ LazyServiceProvider.LazyGetRequiredService();
+
+ ///
+ /// 分布式事件总线
+ ///
+ protected IDistributedEventBus DistributedEventBus =>
+ LazyServiceProvider.LazyGetRequiredService();
+
+ ///
+ /// 对象映射器
+ ///
+ protected IObjectMapper ObjectMapper => LazyServiceProvider.LazyGetService(
+ provider =>
+ ObjectMapperContext == null
+ ? provider.GetRequiredService()
+ : (IObjectMapper)provider.GetRequiredService(
+ typeof(IObjectMapper<>).MakeGenericType(ObjectMapperContext)));
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Dtos/CustomeListResultDto.cs b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Dtos/CustomeListResultDto.cs
new file mode 100644
index 00000000..e04b9f58
--- /dev/null
+++ b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Dtos/CustomeListResultDto.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+
+namespace Lion.Abp.Extension
+{
+ [Serializable]
+ public class CustomeListResultDto
+ {
+ public IReadOnlyList Items
+ {
+ get { return _items ??= new List(); }
+ set => _items = value;
+ }
+
+ private IReadOnlyList _items;
+
+ public CustomeListResultDto()
+ {
+ }
+
+ public CustomeListResultDto(IReadOnlyList items)
+ {
+ Items = items;
+ }
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Dtos/CustomePagedResultDto.cs b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Dtos/CustomePagedResultDto.cs
new file mode 100644
index 00000000..ecedba44
--- /dev/null
+++ b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Dtos/CustomePagedResultDto.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+
+namespace Lion.Abp.Extension
+{
+ [Serializable]
+ public class CustomePagedResultDto : CustomeListResultDto
+ {
+ public long TotalCount { get; set; }
+
+ public CustomePagedResultDto()
+ {
+ }
+
+ public CustomePagedResultDto(long totalCount, IReadOnlyList items)
+ : base(items)
+ {
+ TotalCount = totalCount;
+ }
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Dtos/FromSelector.cs b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Dtos/FromSelector.cs
new file mode 100644
index 00000000..e50345ea
--- /dev/null
+++ b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Dtos/FromSelector.cs
@@ -0,0 +1,41 @@
+namespace Lion.Abp.Extension
+{
+
+
+ public abstract class FromSelectorBase
+ {
+ protected FromSelectorBase(int value, string label)
+ {
+ Value = value;
+ Label = label;
+ }
+ public int Value { get; protected set; }
+ public string Label { get; protected set; }
+ }
+
+ public abstract class FromSelectorBase
+ {
+ protected FromSelectorBase(TValue value, TLabel label)
+ {
+ Value = value;
+ Label = label;
+ }
+
+ public TValue Value { get; protected set; }
+ public TLabel Label { get; protected set; }
+ }
+
+ public class FromSelector : FromSelectorBase
+ {
+ public FromSelector(int value, string label) : base(value, label)
+ {
+ }
+ }
+
+ public class FromSelector : FromSelectorBase
+ {
+ public FromSelector(TValue value, TLabel label) : base(value, label)
+ {
+ }
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Dtos/IdInput.cs b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Dtos/IdInput.cs
new file mode 100644
index 00000000..fc4b3eff
--- /dev/null
+++ b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Dtos/IdInput.cs
@@ -0,0 +1,9 @@
+using System;
+
+namespace Lion.Abp.Extension
+{
+ public class IdInput
+ {
+ public Guid Id { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Dtos/PagingBase.cs b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Dtos/PagingBase.cs
new file mode 100644
index 00000000..1b77504a
--- /dev/null
+++ b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Dtos/PagingBase.cs
@@ -0,0 +1,59 @@
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+
+namespace Lion.Abp.Extension
+{
+
+
+ ///
+ /// 分页查询时使用的Dto类型
+ ///
+ public class PagingBase : IValidatableObject
+ {
+ public const int MaxPageSize = 100000;
+
+ ///
+ /// 当前页面.默认从1开始
+ ///
+ public int PageIndex { get; set; } = 1;
+
+ ///
+ /// 每页多少条.每页显示多少记录
+ ///
+ public int PageSize { get; set; } = 10;
+
+ ///
+ /// 跳过多少条
+ ///
+ public int SkipCount => (PageIndex - 1) * PageSize;
+
+ protected PagingBase()
+ {
+ }
+
+ public PagingBase(int pageIndex = 1, int pageSize = 10)
+ {
+ PageIndex = pageIndex;
+ PageSize = pageSize;
+ }
+
+ public virtual IEnumerable Validate(ValidationContext validationContext)
+ {
+ if (PageIndex < 1)
+ {
+ yield return new ValidationResult(
+ "起始页必须大于等于1",
+ new[] { "PageIndex"}
+ );
+ }
+
+ if (PageSize > MaxPageSize)
+ {
+ yield return new ValidationResult(
+ $"每页最大记录数不能超过'{MaxPageSize}'",
+ new[] { "PageSize"}
+ );
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Guard.cs b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Guard.cs
new file mode 100644
index 00000000..bab1227d
--- /dev/null
+++ b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Guard.cs
@@ -0,0 +1,302 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.IO;
+using System.Linq;
+
+namespace Lion.Abp.Extension
+{
+ ///
+ /// 参数合法性检查类
+ ///
+ [DebuggerStepThrough]
+ public static class Guard
+ {
+ ///
+ /// 检查参数不能为空引用,
+ /// 否则抛出异常。
+ ///
+ ///
+ /// 参数名称
+ ///
+ public static T NotNull(T value, string valueName)
+ {
+ if (null == value)
+ {
+ throw new ArgumentNullException(valueName);
+ }
+
+ return value;
+ }
+
+ ///
+ /// 检查字符串不能为空引用或空字符串,
+ /// 否则抛出异常
+ /// 或异常
+ /// 或异常。
+ ///
+ ///
+ /// 参数名称。
+ /// 字符串允许的最大长度。
+ /// 字符串允许的最小长度。0表示不限制最小长度
+ ///
+ ///
+ ///
+ public static string NotNullOrEmpty(string value, string valueName, int maxLength = int.MaxValue,
+ int minLength = 0)
+ {
+ if (string.IsNullOrEmpty(value))
+ {
+ throw new ArgumentNullException(valueName);
+ }
+
+ if (value.Length > maxLength)
+ {
+ throw new ArgumentOutOfRangeException(valueName);
+ }
+
+ if (minLength > 0 && value.Length < minLength)
+ {
+ throw new ArgumentOutOfRangeException(valueName);
+ }
+
+ return value;
+ }
+
+ ///
+ /// 检查字符串不能为空引用或全部为空白,
+ /// 否则抛出异常
+ /// 或异常
+ /// 或异常。
+ ///
+ /// 需检查的字符串
+ /// 参数名称。
+ /// 字符串允许的最大长度。
+ /// 字符串允许的最小长度。0表示不限制最小长度
+ ///
+ ///
+ ///
+ public static string NotNullOrWhiteSpace(
+ string value,
+ string valueName,
+ int maxLength = int.MaxValue,
+ int minLength = 0)
+ {
+ if (string.IsNullOrWhiteSpace(value))
+ {
+ throw new ArgumentNullException(valueName);
+ }
+
+ if (value.Length > maxLength)
+ {
+ throw new ArgumentOutOfRangeException(valueName);
+ }
+
+ if (minLength > 0 && value.Length < minLength)
+ {
+ throw new ArgumentOutOfRangeException(valueName);
+ }
+
+ return value;
+ }
+
+ ///
+ /// 检查字符串长度是否超过最大长度,或低于最小长度,
+ /// 否则抛出异常
+ /// 或异常。
+ ///
+ /// 需检查的字符串。
+ /// 参数名称。
+ /// 字符串允许的最大长度。
+ /// 字符串要求的最小长度。0表示不限制最小长度
+ ///
+ ///
+ public static string Length(string value, string valueName, int maxLength = int.MaxValue,
+ int minLength = 0)
+ {
+ if (string.IsNullOrEmpty(value))
+ {
+ return value;
+ }
+
+ if (value.Length > maxLength)
+ {
+ throw new ArgumentOutOfRangeException(valueName);
+ }
+
+ if (minLength > 0 && value.Length < minLength)
+ {
+ throw new ArgumentOutOfRangeException(valueName);
+ }
+
+ return value;
+ }
+
+ ///
+ /// 检查Guid值不能为Guid.Empty,否则抛出异常。
+ ///
+ ///
+ /// 参数名称。
+ ///
+ public static Guid NotEmpty(
+ Guid value,
+ string valueName)
+ {
+ if (value == Guid.Empty)
+ {
+ throw new ArgumentNullException(valueName);
+ }
+
+ return value;
+ }
+
+ ///
+ /// 检查集合不能为空引用或空集合,
+ /// 否则抛出异常。
+ ///
+ /// 集合项的类型。
+ ///
+ /// 参数名称。
+ ///
+ public static void NotNullOrEmpty(
+ IReadOnlyList list,
+ string valueName)
+ {
+ if (null == list || !list.Any())
+ {
+ throw new ArgumentNullException(valueName);
+ }
+ }
+
+ ///
+ /// 检查参数必须小于[或可等于,参数]指定值,
+ /// 否则抛出异常。
+ ///
+ /// 参数类型。
+ ///
+ /// 参数名称。
+ /// 要比较的值。
+ /// 是否可等于。
+ ///
+ public static void LessThan(
+ T value,
+ string valueName,
+ T target,
+ bool canEqual = false)
+ where T : IComparable
+ {
+ var flag = canEqual ? value.CompareTo(target) <= 0 : value.CompareTo(target) < 0;
+ if (!flag)
+ {
+ throw new ArgumentOutOfRangeException(valueName);
+ }
+ }
+
+ ///
+ /// 检查参数必须大于[或可等于,参数]指定值,
+ /// 否则抛出异常。
+ ///
+ /// 参数类型。
+ /// 需检查的参数。
+ /// 参数名称。
+ /// 要比较的值。
+ /// 是否可等于。
+ ///
+ public static void GreaterThan(
+ T value,
+ string valueName,
+ T target,
+ bool canEqual = false)
+ where T : IComparable
+ {
+ var flag = canEqual ? value.CompareTo(target) >= 0 : value.CompareTo(target) > 0;
+ if (!flag)
+ {
+ throw new ArgumentOutOfRangeException(valueName);
+ }
+ }
+
+ ///
+ /// 检查参数必须在指定范围之间,否则抛出异常。
+ ///
+ /// 参数类型。
+ /// 需检查的参数。
+ /// 参数名称。
+ /// 比较范围的起始值。
+ /// 比较范围的结束值。
+ /// 是否可等于起始值
+ /// 是否可等于结束值
+ /// 不在指定范围内时
+ public static void Between(
+ T value,
+ string valueName,
+ T start,
+ T end,
+ bool startEqual = false,
+ bool endEqual = false)
+ where T : IComparable
+ {
+ var flag = startEqual ? value.CompareTo(start) >= 0 : value.CompareTo(start) > 0;
+ if (!flag)
+ {
+ throw new ArgumentOutOfRangeException(valueName);
+ }
+
+ flag = endEqual ? value.CompareTo(end) <= 0 : value.CompareTo(end) < 0;
+ if (!flag)
+ {
+ throw new ArgumentOutOfRangeException(valueName);
+ }
+ }
+
+ ///
+ /// 检查指定路径的文件夹必须存在,
+ /// 否则抛出异常
+ /// 或 异常。
+ ///
+ /// 需检查的路径。
+ /// 参数名称。
+ /// 当文件夹路径为null或空时
+ /// 当文件夹路径不存在时
+ public static string DirectoryExists(
+ string directory,
+ string parameterName)
+ {
+ if (string.IsNullOrWhiteSpace(directory))
+ {
+ throw new DirectoryNotFoundException(parameterName);
+ }
+
+ if (!Directory.Exists(directory))
+ {
+ throw new DirectoryNotFoundException(directory);
+ }
+
+ return directory;
+ }
+
+ ///
+ /// 检查指定路径的文件必须存在,否则抛出异常。
+ ///
+ ///
+ /// 参数名称。
+ /// 当文件路径为null或空时
+ /// 当文件路径不存在时
+ public static string FileExists(
+ string filename,
+ string valueName)
+ {
+ if (string.IsNullOrWhiteSpace(filename))
+ {
+ throw new ArgumentNullException(valueName);
+ }
+
+ if (!File.Exists(filename))
+ {
+ throw new FileNotFoundException(filename);
+ }
+
+ return filename;
+ }
+ }
+}
diff --git a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Http/HttpClientHelper.cs b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Http/HttpClientHelper.cs
new file mode 100644
index 00000000..a4f23846
--- /dev/null
+++ b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Customs/Http/HttpClientHelper.cs
@@ -0,0 +1,164 @@
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Net.Http;
+using System.Net.Http.Headers;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Lion.Abp.Extension
+{
+ ///
+ /// 基于IHttpClientFactory二次封装httpclient
+ ///
+ public static class HttpClientHelper
+ {
+
+ public static async Task GetAsync(this IHttpClientFactory _httpClientFactory, string clientName, string url, Dictionary headers = null) where TResult : class
+ {
+ try
+ {
+ var client = _httpClientFactory.CreateClient(clientName);
+ if (headers != null && headers.Count > 0)
+ {
+ foreach (var item in headers)
+ {
+ client.DefaultRequestHeaders.Add(item.Key, item.Value);
+ }
+
+ }
+
+ client.DefaultRequestHeaders.CacheControl = CacheControlHeaderValue.Parse("no-cache");
+
+ //执行请求
+ var response = await client.GetAsync(url);
+ var result = await response.Content.ReadAsStringAsync();
+ if (response.IsSuccessStatusCode)
+ {
+ if (result != null && !string.IsNullOrEmpty(result))
+ return JsonConvert.DeserializeObject(result);
+ else
+ return default(TResult);
+ }
+ else
+ {
+ if (string.IsNullOrEmpty(result))
+ result = response.ReasonPhrase;
+ throw new Exception(result);
+ }
+ }
+ catch (Exception e)
+ {
+ throw new Exception(e.Message);
+ }
+ }
+
+ public static async Task PostAsync(this IHttpClientFactory _httpClientFactory, string clientName, string url, T obj, Dictionary headers = null) where T : class where TResult : class
+ {
+ var data = typeof(T).Name.ToLower() == "string" ? obj.ToString() : JsonConvert.SerializeObject(obj);
+ var client = _httpClientFactory.CreateClient(clientName);
+ if (headers != null && headers.Count > 0)
+ {
+ foreach (var item in headers)
+ {
+ client.DefaultRequestHeaders.Add(item.Key, item.Value);
+ }
+ }
+
+ client.DefaultRequestHeaders.CacheControl = CacheControlHeaderValue.Parse("no-cache");
+ //post 参数
+ var content = new StringContent(data, Encoding.UTF8, "application/json");
+ //执行请求
+ var response = await client.PostAsync(url, content);
+
+ var result = await response.Content.ReadAsStringAsync();
+ if (response.IsSuccessStatusCode)
+ {
+ if (result != null && !string.IsNullOrEmpty(result))
+ return JsonConvert.DeserializeObject(result);
+ else
+ return default(TResult);
+ }
+ else
+ {
+ if (string.IsNullOrEmpty(result))
+ result = response.ReasonPhrase;
+
+ throw new Exception(result);
+ }
+ }
+
+ public static async Task PutAsync(this IHttpClientFactory _httpClientFactory, string clientName, string url, T obj, Dictionary headers = null) where T : class where TResult : class
+ {
+ var data = typeof(T).Name.ToLower() == "string" ? obj.ToString() : JsonConvert.SerializeObject(obj);
+ var client = _httpClientFactory.CreateClient(clientName);
+ if (headers != null && headers.Count > 0)
+ {
+ foreach (var item in headers)
+ {
+ client.DefaultRequestHeaders.Add(item.Key, item.Value);
+ }
+ }
+
+ client.DefaultRequestHeaders.CacheControl = CacheControlHeaderValue.Parse("no-cache");
+ //post 参数
+ var content = new StringContent(data, Encoding.UTF8, "application/json");
+ //执行请求
+ var response = await client.PutAsync(url, content);
+
+ var result = await response.Content.ReadAsStringAsync();
+ if (response.IsSuccessStatusCode)
+ {
+ if (result != null && !string.IsNullOrEmpty(result))
+ return JsonConvert.DeserializeObject(result);
+ else
+ return default(TResult);
+ }
+ else
+ {
+ if (string.IsNullOrEmpty(result))
+ result = response.ReasonPhrase;
+
+ throw new Exception(result);
+ }
+ }
+
+ public static async Task DeleteAsync(this IHttpClientFactory _httpClientFactory, string clientName, string url, Dictionary headers = null) where TResult : class
+ {
+ try
+ {
+ var client = _httpClientFactory.CreateClient(clientName);
+ if (headers != null && headers.Count > 0)
+ {
+ foreach (var item in headers)
+ {
+ client.DefaultRequestHeaders.Add(item.Key, item.Value);
+ }
+ }
+
+ client.DefaultRequestHeaders.CacheControl = CacheControlHeaderValue.Parse("no-cache");
+
+ //执行请求
+ var response = await client.DeleteAsync(url);
+ var result = await response.Content.ReadAsStringAsync();
+ if (response.IsSuccessStatusCode)
+ {
+ if (result != null && !string.IsNullOrEmpty(result))
+ return JsonConvert.DeserializeObject(result);
+ else
+ return default(TResult);
+ }
+ else
+ {
+ if (string.IsNullOrEmpty(result))
+ result = response.ReasonPhrase;
+ throw new Exception(result);
+ }
+ }
+ catch (Exception e)
+ {
+ throw new Exception(e.Message);
+ }
+ }
+ }
+}
diff --git a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Lion.Abp.Extension.csproj b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Lion.Abp.Extension.csproj
new file mode 100644
index 00000000..3ac701d6
--- /dev/null
+++ b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/Lion.Abp.Extension.csproj
@@ -0,0 +1,18 @@
+
+
+
+ net5.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/BooleanExtensions.cs b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/BooleanExtensions.cs
new file mode 100644
index 00000000..1c4b83bf
--- /dev/null
+++ b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/BooleanExtensions.cs
@@ -0,0 +1,27 @@
+namespace System
+{
+ ///
+ /// 布尔值类型的扩展辅助操作类
+ ///
+ public static class BooleanExtensions
+ {
+ ///
+ /// 把布尔值转换为小写字符串
+ ///
+ public static string ToLower(this bool value)
+ {
+ return value.ToString().ToLower();
+ }
+
+ ///
+ /// 如果条件成立,则抛出异常
+ ///
+ public static void TrueThrow(this bool flag, Exception exception)
+ {
+ if (flag)
+ {
+ throw exception;
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Collections/Generic/CollectionExtensions.cs b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Collections/Generic/CollectionExtensions.cs
new file mode 100644
index 00000000..2ce33be8
--- /dev/null
+++ b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Collections/Generic/CollectionExtensions.cs
@@ -0,0 +1,77 @@
+using System.Linq;
+using Lion.Abp.Extension;
+
+namespace System.Collections.Generic
+{
+ ///
+ /// 集合扩展方法
+ ///
+ public static class CollectionExtensions
+ {
+ ///
+ /// 如果条件成立,添加项
+ ///
+ public static void AddIf(this ICollection collection, T value, bool flag)
+ {
+ Guard.NotNull(collection, nameof(collection));
+ if (flag)
+ {
+ collection.Add(value);
+ }
+ }
+
+ ///
+ /// 如果条件成立,添加项
+ ///
+ public static void AddIf(this ICollection collection, T value, Func func)
+ {
+ Guard.NotNull(collection, nameof(collection));
+ if (func())
+ {
+ collection.Add(value);
+ }
+ }
+
+ ///
+ /// 获取对象,不存在对使用委托添加对象
+ ///
+ public static T GetOrAdd(this ICollection collection, Func selector, Func factory)
+ {
+ Guard.NotNull(collection, nameof(collection));
+ T item = collection.FirstOrDefault(selector);
+ if (item == null)
+ {
+ item = factory();
+ collection.Add(item);
+ }
+
+ return item;
+ }
+
+ ///
+ /// 判断集合是否为null或空集合
+ ///
+ public static bool IsNullOrEmpty(this ICollection collection)
+ {
+ return collection == null || collection.Count == 0;
+ }
+
+ ///
+ /// 交换两项的位置
+ ///
+ public static void Swap(this List list, int index1, int index2)
+ {
+ Guard.Between(index1, nameof(index1), 0, list.Count, true);
+ Guard.Between(index2, nameof(index2), 0, list.Count, true);
+
+ if (index1 == index2)
+ {
+ return;
+ }
+
+ T tmp = list[index1];
+ list[index1] = list[index2];
+ list[index2] = tmp;
+ }
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Collections/Generic/EnumerableExtensions.cs b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Collections/Generic/EnumerableExtensions.cs
new file mode 100644
index 00000000..53b28bc3
--- /dev/null
+++ b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Collections/Generic/EnumerableExtensions.cs
@@ -0,0 +1,199 @@
+using System.Linq;
+using System.Text;
+using Lion.Abp.Extension;
+namespace System.Collections.Generic
+{
+ ///
+ /// Enumerable集合扩展方法
+ ///
+ public static class EnumerableExtensions
+ {
+ /// 断言集合中的元素符合指定表达式,否则抛出异常。
+ /// 集合项类型
+ /// 源集合
+ /// 元素判断表达式
+ /// 异常选择器
+ /// 筛选过的集合
+ public static IEnumerable Assert(this IEnumerable source, Func predicate,
+ Func errorSelector = null)
+ {
+ foreach (var item in source)
+ {
+ var success = predicate(item);
+ if (!success)
+ {
+ throw errorSelector?.Invoke(item) ??
+ new InvalidOperationException("集合中包含无效的元素。");
+ }
+
+ yield return item;
+ }
+ }
+
+ ///
+ /// 打乱一个集合的项顺序,将一个集合洗牌
+ ///
+ public static IEnumerable Shuffle(this IEnumerable source)
+ {
+ // ReSharper disable PossibleMultipleEnumeration
+
+ Guard.NotNull(source, nameof(source));
+ return source.OrderBy(m => Guid.NewGuid());
+
+ // ReSharper restore PossibleMultipleEnumeration
+ }
+
+ ///
+ /// 将集合展开并分别转换成字符串,再以指定的分隔符衔接,拼成一个字符串返回。默认分隔符为逗号。
+ ///
+ /// 要处理的集合
+ /// 分隔符,默认为逗号
+ /// 拼接后的字符串
+ public static string ExpandAndToString(this IEnumerable collection, string separator = ",")
+ {
+ return collection.ExpandAndToString(item => item?.ToString() ?? string.Empty, separator);
+ }
+
+ ///
+ /// 循环集合的每一项,调用委托生成字符串,返回合并后的字符串。默认分隔符为逗号
+ ///
+ /// 待处理的集合
+ /// 单个集合项的转换委托
+ /// 分隔符,默认为逗号
+ /// 泛型类型
+ ///
+ public static string ExpandAndToString(
+ this IEnumerable collection,
+ Func itemFormatFunc,
+ string separator = ",")
+ {
+ collection = collection as IList ?? collection.ToList();
+ Guard.NotNull(itemFormatFunc, nameof(itemFormatFunc));
+
+ if (!collection.Any())
+ {
+ return string.Empty;
+ }
+
+ var sb = new StringBuilder();
+ var i = 0;
+ var count = collection.Count();
+ foreach (var item in collection)
+ {
+ if (i == count - 1)
+ {
+ sb.Append(itemFormatFunc(item));
+ }
+ else
+ {
+ sb.Append(itemFormatFunc(item) + separator);
+ }
+
+ i++;
+ }
+
+ return sb.ToString();
+ }
+
+ ///
+ /// 集合是否为空
+ ///
+ /// 要处理的集合
+ /// 动态类型
+ /// 为空返回True,不为空返回False
+ public static bool IsEmpty(this IEnumerable collection)
+ {
+ collection = collection as IList ?? collection.ToList();
+ return !collection.Any();
+ }
+
+ ///
+ /// 根据第三方条件是否为真来决定是否执行指定条件的查询
+ ///
+ /// 要查询的源
+ /// 查询条件
+ /// 第三方条件
+ /// 动态类型
+ /// 查询的结果
+ public static IEnumerable WhereIf(this IEnumerable source, Func predicate, bool condition)
+ {
+ Guard.NotNull(predicate, nameof(predicate));
+ source = source as IList ?? source.ToList();
+
+ return condition ? source.Where(predicate) : source;
+ }
+
+ ///
+ /// 将字符串集合按指定前缀排序
+ ///
+ public static IEnumerable OrderByPrefixes(this IEnumerable source, Func keySelector,
+ params string[] prefixes)
+ {
+ var all = source.OrderBy(keySelector).ToList();
+ var result = new List();
+ foreach (var prefix in prefixes)
+ {
+ var tmpList = all.Where(m => keySelector(m).StartsWith(prefix)).OrderBy(keySelector).ToList();
+ all = all.Except(tmpList).ToList();
+ result.AddRange(tmpList);
+ }
+
+ result.AddRange(all);
+ return result;
+ }
+
+ ///
+ /// 根据指定条件返回集合中不重复的元素
+ ///
+ /// 动态类型
+ /// 动态筛选条件类型
+ /// 要操作的源
+ /// 重复数据筛选条件
+ /// 不重复元素的集合
+ public static IEnumerable DistinctBy(this IEnumerable source, Func keySelector)
+ {
+ Guard.NotNull(keySelector, nameof(keySelector));
+ source = source as IList ?? source.ToList();
+
+ return source.GroupBy(keySelector).Select(group => group.First());
+ }
+
+ #region Internal
+
+ internal static int? TryGetCollectionCount(this IEnumerable source)
+ {
+ switch (source)
+ {
+ case null:
+ throw new ArgumentNullException(nameof(source));
+ case ICollection collection:
+ return collection.Count;
+ case IReadOnlyCollection collection:
+ return collection.Count;
+ default:
+ return null;
+ }
+ }
+
+ static int CountUpTo(this IEnumerable source, int max)
+ {
+ if (source == null) throw new ArgumentNullException(nameof(source));
+ if (max < 0)
+ throw new ArgumentOutOfRangeException(nameof(max), "最大计数参数不能为负。");
+
+ var count = 0;
+
+ using (var e = source.GetEnumerator())
+ {
+ while (count < max && e.MoveNext())
+ {
+ count++;
+ }
+ }
+
+ return count;
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/DateTimeExtensions.cs b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/DateTimeExtensions.cs
new file mode 100644
index 00000000..44d59056
--- /dev/null
+++ b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/DateTimeExtensions.cs
@@ -0,0 +1,78 @@
+using System.Globalization;
+using System.Linq;
+
+namespace System
+{
+ ///
+ /// 时间扩展操作类
+ ///
+ public static class DateTimeExtensions
+ {
+ ///
+ /// 当前时间是否周末
+ ///
+ /// 时间点
+ ///
+ public static bool IsWeekend(this DateTime dateTime)
+ {
+ DayOfWeek[] weeks = { DayOfWeek.Saturday, DayOfWeek.Sunday };
+ return weeks.Contains(dateTime.DayOfWeek);
+ }
+
+ ///
+ /// 当前时间是否工作日
+ ///
+ /// 时间点
+ ///
+ public static bool IsWeekday(this DateTime dateTime)
+ {
+ DayOfWeek[] weeks = { DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, DayOfWeek.Thursday, DayOfWeek.Friday };
+ return weeks.Contains(dateTime.DayOfWeek);
+ }
+
+ ///
+ /// 获取时间相对唯一字符串
+ ///
+ ///
+ /// 是否使用毫秒
+ ///
+ public static string ToUniqueString(this DateTime dateTime, bool millisecond = false)
+ {
+ var seconds = dateTime.Hour * 3600 + dateTime.Minute * 60 + dateTime.Second;
+ var value = $"{dateTime:yyyy}{dateTime.DayOfYear}{seconds}";
+ if (millisecond)
+ {
+ return value + dateTime.ToString("fff");
+ }
+
+ return value;
+ }
+
+ ///
+ /// 将时间转换为JS时间格式(Date.getTime())
+ ///
+ ///
+ /// 是否使用毫秒
+ public static string ToJsGetTime(this DateTime dateTime, bool millisecond = true)
+ {
+ var utc = dateTime.ToUniversalTime();
+ var span = utc.Subtract(new DateTime(1970, 1, 1));
+ return Math.Round(millisecond ? span.TotalMilliseconds : span.TotalSeconds).ToString(CultureInfo.InvariantCulture);
+ }
+
+ ///
+ /// 将JS时间格式的数值转换为时间
+ ///
+ public static DateTime FromJsGetTime(this long jsTime)
+ {
+ var length = jsTime.ToString().Length;
+ if (!(length == 10 || length == 13))
+ {
+ throw new ArgumentOutOfRangeException(null, "JS时间数值的长度不正确,必须为10位或13位");
+ }
+ var start = new DateTime(1970, 1, 1);
+ var result = length == 10 ? start.AddSeconds(jsTime) : start.AddMilliseconds(jsTime);
+ return result.ToUniversalTime();
+ }
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/EnumExtensions.cs b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/EnumExtensions.cs
new file mode 100644
index 00000000..b81a732c
--- /dev/null
+++ b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/EnumExtensions.cs
@@ -0,0 +1,199 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.Specialized;
+using System.ComponentModel;
+using System.Linq;
+using System.Reflection;
+
+namespace System
+{
+ ///
+ /// 枚举的扩展辅助操作方法
+ ///
+ public static class EnumExtensions
+ {
+ ///
+ /// 获取枚举项上的特性的文字描述
+ ///
+ ///
+ ///
+ public static string ToDescription(this Enum value)
+ {
+ var type = value.GetType();
+ var member = type.GetMember(value.ToString()).FirstOrDefault();
+
+ return member != null ? member.GetDescription() : value.ToString();
+ }
+
+ ///
+ /// 枚举遍历,返回枚举的名称、值、特性
+ ///
+ /// 枚举类型
+ /// 回调函数
+ private static void Each(this Type enumType, Action action)
+ {
+ if (enumType.BaseType != typeof(Enum))
+ {
+ return;
+ }
+ var arr = Enum.GetValues(enumType);
+ foreach (var name in arr)
+ {
+ var currentEnum = Enum.Parse(enumType, name.ToString());
+ var value = Convert.ToInt32(Enum.Parse(enumType, name.ToString()));
+ var fieldInfo = enumType.GetField(name.ToString());
+ var description = "";
+ if (fieldInfo != null)
+ {
+ var attr = Attribute.GetCustomAttribute(fieldInfo,
+ typeof(DescriptionAttribute), false) as DescriptionAttribute;
+ if (attr != null)
+ {
+ description = attr.Description;
+ }
+ }
+ action(name.ToString(), value.ToString(), description, currentEnum);
+ }
+ }
+
+ ///
+ /// 根据枚举类型值返回枚举定义Description属性
+ ///
+ ///
+ ///
+ ///
+ public static string ToEnumDescriptionString(this short value, Type enumType)
+ {
+ var nvc = new NameValueCollection();
+ var typeDescription = typeof(DescriptionAttribute);
+ var fields = enumType.GetFields();
+ foreach (var field in fields)
+ {
+ if (field.FieldType.IsEnum)
+ {
+ var strValue = ((int)enumType.InvokeMember(field.Name, BindingFlags.GetField, null, null, null)).ToString();
+ var arr = field.GetCustomAttributes(typeDescription, true);
+ string strText;
+ if (arr.Length > 0)
+ {
+ var aa = (DescriptionAttribute)arr[0];
+ strText = aa.Description;
+ }
+ else
+ {
+ strText = "";
+ }
+ nvc.Add(strValue, strText);
+ }
+ }
+ return nvc[value.ToString()];
+ }
+
+ ///
+ /// 将指定枚举转换为字典.
+ /// 枚举的Description为字典的Key,枚举的Value为字典的Value
+ ///
+ /// 指定枚举
+ private static List> GetEnumTypeValueList()
+ {
+ var items = new List>();
+ typeof(T).Each((name, value, description, enumObj) =>
+ items.Add(new KeyValuePair(description, value)));
+ return items;
+ }
+
+ ///
+ /// 将指定枚举转换为字典.
+ /// 枚举的Description为字典的Key,枚举为字典的Value
+ ///
+ /// 指定枚举
+ private static List> GetEnumTypeList()
+ {
+ var items = new List>();
+ typeof(T).Each((name, value, description, enumObj) =>
+ items.Add(new KeyValuePair(description, (T)enumObj)));
+ return items;
+ }
+
+ ///
+ /// 将指定枚举转换为字典.
+ /// 枚举的Description为字典的Key,枚举的Name为字典的Value
+ ///
+ /// 指定枚举
+ public static List> GetEnumTypeDescriptionNameList()
+ {
+ var items = new List>();
+ typeof(T).Each((name, value, description, enumObj) => items.Add(new KeyValuePair(description, name)));
+ return items;
+ }
+
+ ///
+ /// 将指定枚举转换为字典.
+ /// 枚举的Name为字典的Key,枚举的Description为字典的Value
+ ///
+ /// 指定枚举
+ public static List> GetEnumTypeValueNameList()
+ {
+ var items = new List>();
+ typeof(T).Each((name, value, description, enumObj) => items.Add(new KeyValuePair(name, description)));
+ return items;
+ }
+
+ ///
+ /// 将指定枚举转换为字典.
+ /// 枚举的Name为字典的Key,枚举的Description为字典的Value
+ ///
+ /// 指定枚举
+ public static List> GetStringKeyValueList() where TModel : Enum
+ {
+ var keyValuePairList = new List>();
+ var values = Enum.GetValues(typeof(TModel));
+ var modelArray = new TModel[values.Length];
+ values.CopyTo(modelArray, 0);
+ foreach (TModel model in modelArray)
+ keyValuePairList.Add(new KeyValuePair(model.ToString(), model.ToString()));
+ return keyValuePairList;
+ }
+
+ ///
+ /// 将指定枚举转换为字典.
+ /// 枚举的Description为字典的Key,枚举为字典的Value
+ ///
+ /// 指定枚举
+ public static List> GetEnumKeyValueList() where TModel : Enum
+ {
+ var enumTypeList = GetEnumTypeList();
+ var keyValuePairList = new List>();
+ foreach (KeyValuePair keyValuePair in enumTypeList)
+ keyValuePairList.Add(new KeyValuePair(keyValuePair.Key, keyValuePair.Value));
+ return keyValuePairList;
+ }
+
+ public static List> GetEntityDoubleStringKeyValueList()
+ {
+ var enumTypeList = GetEnumTypeValueList();
+ var keyValuePairList = new List>();
+ foreach (KeyValuePair keyValuePair in enumTypeList)
+ keyValuePairList.Add(new KeyValuePair(keyValuePair.Key, keyValuePair.Value));
+ return keyValuePairList;
+ }
+
+ public static List> GetEntityStringIntKeyValueList()
+ {
+ List> enumTypeList = GetEnumTypeValueList();
+ List> keyValuePairList = new List>();
+ foreach (KeyValuePair keyValuePair in enumTypeList)
+ keyValuePairList.Add(new KeyValuePair(keyValuePair.Key, Convert.ToInt32(keyValuePair.Value)));
+ return keyValuePairList;
+ }
+
+ public static List> GetEntityDoubleIntKeyValueList()
+ {
+ List> enumTypeList = GetEnumTypeValueList();
+ List> keyValuePairList = new List>();
+ foreach (KeyValuePair keyValuePair in enumTypeList)
+ keyValuePairList.Add(new KeyValuePair(Convert.ToInt32(keyValuePair.Key), Convert.ToInt32(keyValuePair.Value)));
+ return keyValuePairList;
+ }
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/ExceptionExtensions.cs b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/ExceptionExtensions.cs
new file mode 100644
index 00000000..2662e6ce
--- /dev/null
+++ b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/ExceptionExtensions.cs
@@ -0,0 +1,76 @@
+using System.Runtime.ExceptionServices;
+using System.Text;
+
+namespace System
+{
+ ///
+ /// 异常操作扩展
+ ///
+ public static class ExceptionExtensions
+ {
+ ///
+ /// 格式化异常消息
+ ///
+ /// 异常对象
+ /// 是否隐藏异常规模信息
+ /// 格式化后的异常信息字符串
+ public static string FormatMessage(this Exception e, bool isHideStackTrace = false)
+ {
+ var sb = new StringBuilder();
+ var count = 0;
+ var appString = string.Empty;
+ while (e != null)
+ {
+ if (count > 0)
+ {
+ appString += " ";
+ }
+ sb.AppendLine($"{appString}异常消息:{e.Message}");
+ sb.AppendLine($"{appString}异常类型:{e.GetType().FullName}");
+ sb.AppendLine($"{appString}异常方法:{(e.TargetSite == null ? null : e.TargetSite.Name)}");
+ sb.AppendLine($"{appString}异常源:{e.Source}");
+ if (!isHideStackTrace && e.StackTrace != null)
+ {
+ sb.AppendLine($"{appString}异常堆栈:{e.StackTrace}");
+ }
+ if (e.InnerException != null)
+ {
+ sb.AppendLine($"{appString}内部异常:");
+ count++;
+ e = e.InnerException;
+ }
+ }
+ return sb.ToString();
+ }
+
+ ///
+ /// 将异常重新抛出
+ ///
+ public static void ReThrow(this Exception exception)
+ {
+ ExceptionDispatchInfo.Capture(exception).Throw();
+ }
+
+ ///
+ /// 如果条件成立,则抛出异常
+ ///
+ public static void ThrowIf(this Exception exception, bool isThrow)
+ {
+ if (isThrow)
+ {
+ throw exception;
+ }
+ }
+
+ ///
+ /// 如果条件成立,则抛出异常
+ ///
+ public static void ThrowIf(this Exception exception, Func isThrowFunc)
+ {
+ if (isThrowFunc())
+ {
+ throw exception;
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Linq/QueryableExtensions.cs b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Linq/QueryableExtensions.cs
new file mode 100644
index 00000000..51edf5d6
--- /dev/null
+++ b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Linq/QueryableExtensions.cs
@@ -0,0 +1,28 @@
+using System.Linq.Expressions;
+using Lion.Abp.Extension;
+
+namespace System.Linq
+{
+ ///
+ /// IQueryable集合扩展方法
+ ///
+ public static class QueryableExtensions
+ {
+ ///
+ /// 根据第三方条件是否为真来决定是否执行指定条件的查询
+ ///
+ /// 要查询的源
+ /// 查询条件
+ /// 第三方条件
+ /// 动态类型
+ /// 查询的结果
+ public static IQueryable WhereIf(this IQueryable source, Expression> predicate,
+ bool condition)
+ {
+ Guard.NotNull(source, nameof(source));
+ Guard.NotNull(predicate, nameof(predicate));
+
+ return condition ? source.Where(predicate) : source;
+ }
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Reflection/AssemblyExtensions.cs b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Reflection/AssemblyExtensions.cs
new file mode 100644
index 00000000..87a825f3
--- /dev/null
+++ b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Reflection/AssemblyExtensions.cs
@@ -0,0 +1,26 @@
+using System.Diagnostics;
+using Lion.Abp.Extension;
+
+namespace System.Reflection
+{
+ ///
+ /// 程序集扩展操作类
+ ///
+ public static class AssemblyExtensions
+ {
+ ///
+ /// 获取程序集的产品版本
+ ///
+ public static string GetProductVersion(this Assembly assembly)
+ {
+ Guard.NotNull(assembly, nameof(assembly));
+ var info = FileVersionInfo.GetVersionInfo(assembly.Location);
+ var version = info.ProductVersion;
+ if (version.Contains("+"))
+ {
+ version = version.ReplaceRegex(@"\+(\w+)?", "");
+ }
+ return version;
+ }
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Reflection/MemberInfoExtensions.cs b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Reflection/MemberInfoExtensions.cs
new file mode 100644
index 00000000..c7ecd81a
--- /dev/null
+++ b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Reflection/MemberInfoExtensions.cs
@@ -0,0 +1,73 @@
+using System.ComponentModel;
+using System.ComponentModel.DataAnnotations;
+using System.Linq;
+
+namespace System.Reflection
+{
+ ///
+ /// 成员的扩展辅助操作方法
+ ///
+ public static class MemberInfoExtensions
+ {
+ ///
+ /// 获取成员元数据的Description特性描述信息。
+ ///
+ /// 成员元数据对象。
+ /// 是否搜索成员的继承链以查找描述特性。
+ /// 返回Description特性描述信息,如不存在则返回成员的名称。
+ public static string GetDescription(this MemberInfo member, bool inherit = true)
+ {
+ var desc = member.GetAttribute(inherit);
+ if (desc != null)
+ {
+ return desc.Description;
+ }
+
+ var displayName = member.GetAttribute(inherit);
+ if (displayName != null)
+ {
+ return displayName.DisplayName;
+ }
+
+ var display = member.GetAttribute(inherit);
+ return display != null ? display.Name : member.Name;
+ }
+
+ ///
+ /// 检查指定指定类型成员中是否存在指定的Attribute特性。
+ ///
+ /// 要检查的Attribute特性类型。
+ /// 要检查的类型成员
+ /// 是否从继承中查找
+ /// 是否存在
+ public static bool HasAttribute(this MemberInfo memberInfo, bool inherit = true) where T : Attribute
+ {
+ return memberInfo.IsDefined(typeof(T), inherit);
+ }
+
+ ///
+ /// 从类型成员获取指定Attribute特性
+ ///
+ /// Attribute特性类型
+ /// 类型类型成员
+ /// 是否从继承中查找
+ /// 存在返回第一个,不存在返回null
+ public static T GetAttribute(this MemberInfo memberInfo, bool inherit = true) where T : Attribute
+ {
+ var attributes = memberInfo.GetCustomAttributes(typeof(T), inherit);
+ return attributes.FirstOrDefault() as T;
+ }
+
+ ///
+ /// 从类型成员获取指定Attribute特性。
+ ///
+ /// Attribute特性类型。
+ /// 类型类型成员。
+ /// 是否从继承中查找。
+ /// 返回所有指定Attribute特性的数组。
+ public static T[] GetAttributes(this MemberInfo memberInfo, bool inherit = true) where T : Attribute
+ {
+ return memberInfo.GetCustomAttributes(typeof(T), inherit).Cast().ToArray();
+ }
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Reflection/MethodInfoExtensions.cs b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Reflection/MethodInfoExtensions.cs
new file mode 100644
index 00000000..fd2ffde8
--- /dev/null
+++ b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Reflection/MethodInfoExtensions.cs
@@ -0,0 +1,31 @@
+using System.Threading.Tasks;
+
+namespace System.Reflection
+{
+ ///
+ /// 方法的扩展辅助操作方法
+ ///
+ public static class MethodInfoExtensions
+ {
+ ///
+ /// 方法是否是异步
+ ///
+ public static bool IsAsync(this MethodInfo method)
+ {
+ return (method.ReturnType == typeof(Task<>)
+ || method.ReturnType.IsGenericType
+ && method.ReturnType.GetGenericTypeDefinition() == typeof(Task<>))
+ || method.ReturnType == typeof(Task);
+ }
+
+ ///
+ /// 返回当前方法信息是否是重写方法
+ ///
+ /// 要判断的方法信息
+ /// 是否是重写方法
+ public static bool IsOverridden(this MethodInfo method)
+ {
+ return method.GetBaseDefinition().DeclaringType != method.DeclaringType;
+ }
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Reflection/PropertyInfoExtensions.cs b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Reflection/PropertyInfoExtensions.cs
new file mode 100644
index 00000000..a2e13d28
--- /dev/null
+++ b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/Reflection/PropertyInfoExtensions.cs
@@ -0,0 +1,24 @@
+using System.Linq;
+
+namespace System.Reflection
+{
+ ///
+ /// 属性的扩展辅助操作方法
+ ///
+ public static class PropertyInfoExtensions
+ {
+ ///
+ /// 返回当前属性信息是否为virtual
+ ///
+ public static bool IsVirtual(this PropertyInfo property)
+ {
+ var accessor = property.GetAccessors().FirstOrDefault();
+ if (accessor == null)
+ {
+ return false;
+ }
+
+ return accessor.IsVirtual && !accessor.IsFinal;
+ }
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/StringExtensions.cs b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/StringExtensions.cs
new file mode 100644
index 00000000..31d80338
--- /dev/null
+++ b/aspnet-core/frameworks/Extensions/src/Lion.Abp.Extension/System/StringExtensions.cs
@@ -0,0 +1,981 @@
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Globalization;
+using System.Linq;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Web;
+using Lion.Abp.Extension;
+using Newtonsoft.Json;
+
+namespace System
+{
+ ///
+ /// 字符串类型的扩展辅助操作类
+ ///
+ [DebuggerStepThrough]
+ public static class StringExtensions
+ {
+ #region 正则表达式
+
+ ///
+ /// 指示所指定的正则表达式在指定的输入字符串中是否找到了匹配项
+ ///
+ /// 要搜索匹配项的字符串
+ /// 要匹配的正则表达式模式
+ /// 是否包含,否则全匹配
+ /// 如果正则表达式找到匹配项,则为 true;否则,为 false
+ public static bool IsMatch(this string value, string pattern, bool isContains = true)
+ {
+ if (value == null)
+ {
+ return false;
+ }
+
+ return isContains
+ ? Regex.IsMatch(value, pattern)
+ : Regex.Match(value, pattern).Success;
+ }
+
+ ///
+ /// 在指定的输入字符串中搜索指定的正则表达式的第一个匹配项
+ ///
+ /// 要搜索匹配项的字符串
+ /// 要匹配的正则表达式模式
+ /// 一个对象,包含有关匹配项的信息
+ public static string Match(this string value, string pattern)
+ {
+ if (value == null)
+ {
+ return null;
+ }
+
+ return Regex.Match(value, pattern).Value;
+ }
+
+ ///
+ /// 在指定的输入字符串中匹配并替换符合指定正则表达式的子串
+ ///
+ public static string ReplaceRegex(this string value, string pattern, string replacement)
+ {
+ if (value == null)
+ {
+ return null;
+ }
+
+ return Regex.Replace(value, pattern, replacement);
+ }
+
+ ///
+ /// 在指定的输入字符串中搜索指定的正则表达式的所有匹配项的字符串集合
+ ///
+ /// 要搜索匹配项的字符串
+ /// 要匹配的正则表达式模式
+ /// 一个集合,包含有关匹配项的字符串值
+ public static IEnumerable Matches(this string value, string pattern)
+ {
+ if (value == null)
+ {
+ return new string[] { };
+ }
+
+ var matches = Regex.Matches(value, pattern);
+ return from Match match in matches select match.Value;
+ }
+
+ ///
+ /// 在指定的输入字符串中匹配第一个数字字符串
+ ///
+ public static string MatchFirstNumber(this string value)
+ {
+ var matches = Regex.Matches(value, @"\d+");
+ if (matches.Count == 0)
+ {
+ return string.Empty;
+ }
+
+ return matches[0].Value;
+ }
+
+ ///
+ /// 在指定字符串中匹配最后一个数字字符串
+ ///
+ public static string MatchLastNumber(this string value)
+ {
+ var matches = Regex.Matches(value, @"\d+");
+ if (matches.Count == 0)
+ {
+ return string.Empty;
+ }
+
+ return matches[matches.Count - 1].Value;
+ }
+
+ ///
+ /// 在指定字符串中匹配所有数字字符串
+ ///
+ public static IEnumerable MatchNumbers(this string value)
+ {
+ return Matches(value, @"\d+");
+ }
+
+ ///
+ /// 检测指定字符串中是否包含数字
+ ///
+ public static bool IsMatchNumber(this string value)
+ {
+ return IsMatch(value, @"\d");
+ }
+
+ ///
+ /// 检测指定字符串是否全部为数字并且长度等于指定长度
+ ///
+ public static bool IsMatchNumber(this string value, int length)
+ {
+ var regex = new Regex(@"^\d{" + length + "}$");
+ return regex.IsMatch(value);
+ }
+
+ ///
+ /// 截取指定字符串之间的字符串
+ ///
+ ///
+ /// 起始字符串
+ /// 结束字符串,可多个
+ /// 返回的中间字符串
+ public static string Substring(this string source, string startString, params string[] endStrings)
+ {
+ if (source.IsMissing())
+ {
+ return string.Empty;
+ }
+
+ var startIndex = 0;
+ if (!string.IsNullOrEmpty(startString))
+ {
+ startIndex = source.IndexOf(startString, StringComparison.OrdinalIgnoreCase);
+ if (startIndex < 0)
+ {
+ throw new InvalidOperationException($"在源字符串中无法找到“{startString}”的子串位置");
+ }
+
+ startIndex += startString.Length;
+ }
+
+ var endIndex = source.Length;
+ endStrings = endStrings.OrderByDescending(m => m.Length).ToArray();
+ foreach (var endString in endStrings)
+ {
+ if (string.IsNullOrEmpty(endString))
+ {
+ endIndex = source.Length;
+ break;
+ }
+
+ endIndex = source.IndexOf(endString, startIndex, StringComparison.OrdinalIgnoreCase);
+ if (endIndex < 0 || endIndex < startIndex)
+ {
+ continue;
+ }
+
+ break;
+ }
+
+ if (endIndex < 0 || endIndex < startIndex)
+ {
+ throw new InvalidOperationException($"在源字符串中无法找到“{endStrings.ExpandAndToString()}”的子串位置");
+ }
+
+ var length = endIndex - startIndex;
+
+ return source.Substring(startIndex, length);
+ }
+
+ ///
+ /// 用正则表达式截取字符串
+ ///
+ public static string Substring2(this string source, string startString, string endString)
+ {
+ return source.Substring2(startString, endString, false);
+ }
+
+ ///
+ /// 用正则表达式截取字符串
+ ///
+ public static string Substring2(this string source, string startString, string endString, bool containsEmpty)
+ {
+ if (source.IsMissing())
+ {
+ return string.Empty;
+ }
+
+ var inner = containsEmpty ? "\\s\\S" : "\\S";
+ var result = source.Match($"(?<={startString})([{inner}]+?)(?={endString})");
+ return result.IsMissing() ? null : result;
+ }
+
+ ///
+ /// 是否电子邮件
+ ///
+ public static bool IsEmail(this string value)
+ {
+ const string pattern = @"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$";
+ return value.IsMatch(pattern);
+ }
+
+ ///
+ /// 是否是IP地址
+ ///
+ public static bool IsIpAddress(this string value)
+ {
+ const string pattern =
+ @"^((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))$";
+ return value.IsMatch(pattern);
+ }
+
+ ///
+ /// 是否是整数
+ ///
+ public static bool IsNumeric(this string value)
+ {
+ const string pattern = @"^\-?[0-9]+$";
+ return value.IsMatch(pattern);
+ }
+
+ ///
+ /// 是否是Unicode字符串
+ ///
+ public static bool IsUnicode(this string value)
+ {
+ const string pattern = @"^[\u4E00-\u9FA5\uE815-\uFA29]+$";
+ return value.IsMatch(pattern);
+ }
+
+ ///
+ /// 是否Url字符串
+ ///
+ public static bool IsUrl(this string value)
+ {
+ try
+ {
+ if (string.IsNullOrEmpty(value) || value.Contains(' '))
+ {
+ return false;
+ }
+
+ var uri = new Uri(value);
+ return true;
+ }
+ catch (Exception)
+ {
+ return false;
+ }
+ }
+
+ ///
+ /// 是否身份证号,验证如下3种情况:
+ /// 1.身份证号码为15位数字;
+ /// 2.身份证号码为18位数字;
+ /// 3.身份证号码为17位数字+1个字母
+ ///
+ public static bool IsIdentityCardId(this string value)
+ {
+ if (value.Length != 15 && value.Length != 18)
+ {
+ return false;
+ }
+
+ Regex regex;
+ string[] array;
+ if (value.Length == 15)
+ {
+ regex = new Regex(@"^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})_");
+ if (!regex.Match(value).Success)
+ {
+ return false;
+ }
+
+ array = regex.Split(value);
+ return DateTime.TryParse(string.Format("{0}-{1}-{2}", "19" + array[2], array[3], array[4]), out _);
+ }
+
+ regex = new Regex(@"^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9Xx])$");
+ if (!regex.Match(value).Success)
+ {
+ return false;
+ }
+
+ array = regex.Split(value);
+ if (!DateTime.TryParse(string.Format("{0}-{1}-{2}", array[2], array[3], array[4]), out _))
+ {
+ return false;
+ }
+
+ //校验最后一位
+ var chars = value.ToCharArray().Select(m => m.ToString()).ToArray();
+ int[] weights = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};
+ var sum = 0;
+ for (var i = 0; i < 17; i++)
+ {
+ var num = int.Parse(chars[i]);
+ sum += num * weights[i];
+ }
+
+ var mod = sum % 11;
+ var vCode = "10X98765432"; // 检验码字符串
+ var last = vCode.ToCharArray().ElementAt(mod).ToString();
+ return chars.Last().ToUpper() == last;
+ }
+
+ ///
+ /// 是否手机号码
+ ///
+ ///
+ /// 是否按严格格式验证
+ public static bool IsMobileNumber(this string value, bool isRestrict = false)
+ {
+ var pattern = isRestrict ? @"^[1][3-8]\d{9}$" : @"^[1]\d{10}$";
+ return value.IsMatch(pattern);
+ }
+
+ #endregion
+
+ #region 其他操作
+
+ ///
+ /// 判断指定的字符串不是 null、空。
+ ///
+ public static bool IsNotNullOrEmpty(this string str)
+ {
+ return !string.IsNullOrEmpty(str);
+ }
+
+ ///
+ /// 判断指定的字符串不是 null、空或者仅由空白字符组成
+ ///
+ public static bool IsNotNullOrWhiteSpace(this string str)
+ {
+ return !string.IsNullOrWhiteSpace(str);
+ }
+
+ ///
+ /// 指示指定的字符串是 null、空或者仅由空白字符组成
+ ///
+ public static bool IsMissing(this string value)
+ {
+ return string.IsNullOrWhiteSpace(value);
+ }
+
+ ///
+ /// 为指定格式的字符串填充相应对象来生成字符串
+ ///
+ /// 字符串格式,占位符以{n}表示
+ /// 用于填充占位符的参数
+ /// 格式化后的字符串
+ public static string FormatWith(this string format, params object[] args)
+ {
+ Guard.NotNull(format, nameof(format));
+ return string.Format(CultureInfo.CurrentCulture, format, args);
+ }
+
+ ///
+ /// 将字符串反转
+ ///
+ /// 要反转的字符串
+ public static string ReverseString(this string value)
+ {
+ Guard.NotNull(value, nameof(value));
+ return new string(value.Reverse().ToArray());
+ }
+
+ ///
+ /// 单词复数变成单数形式
+ ///
+ ///
+ ///
+ public static string ToSingular(this string word)
+ {
+ var plural1 = new Regex("(?[^aeiou])ies$");
+ var plural2 = new Regex("(?[aeiou]y)s$");
+ var plural3 = new Regex("(?[sxzh])es$");
+ var plural4 = new Regex("(?[^sxzhyu])s$");
+
+ if (plural1.IsMatch(word))
+ {
+ return plural1.Replace(word, "${keep}y");
+ }
+
+ if (plural2.IsMatch(word))
+ {
+ return plural2.Replace(word, "${keep}");
+ }
+
+ if (plural3.IsMatch(word))
+ {
+ return plural3.Replace(word, "${keep}");
+ }
+
+ if (plural4.IsMatch(word))
+ {
+ return plural4.Replace(word, "${keep}");
+ }
+
+ return word;
+ }
+
+ ///
+ /// 单词单数变成复数形式
+ ///
+ ///
+ ///
+ public static string ToPlural(this string word)
+ {
+ var plural1 = new Regex("(?[^aeiou])y$");
+ var plural2 = new Regex("(?[aeiou]y)$");
+ var plural3 = new Regex("(?[sxzh])$");
+ var plural4 = new Regex("(?[^sxzhy])$");
+
+ if (plural1.IsMatch(word))
+ {
+ return plural1.Replace(word, "${keep}ies");
+ }
+
+ if (plural2.IsMatch(word))
+ {
+ return plural2.Replace(word, "${keep}s");
+ }
+
+ if (plural3.IsMatch(word))
+ {
+ return plural3.Replace(word, "${keep}es");
+ }
+
+ if (plural4.IsMatch(word))
+ {
+ return plural4.Replace(word, "${keep}s");
+ }
+
+ return word;
+ }
+
+ ///
+ /// 以指定字符串作为分隔符将指定字符串分隔成数组
+ ///
+ /// 要分割的字符串
+ /// 字符串类型的分隔符
+ /// 是否移除数据中元素为空字符串的项
+ /// 分割后的数据
+ public static string[] Split(this string value, string strSplit, bool removeEmptyEntries = false)
+ {
+ return value.Split(new[] {strSplit},
+ removeEmptyEntries ? StringSplitOptions.RemoveEmptyEntries : StringSplitOptions.None);
+ }
+
+ ///
+ /// 支持汉字的字符串长度,汉字长度计为2
+ ///
+ /// 参数字符串
+ /// 当前字符串的长度,汉字长度为2
+ public static int TextLength(this string value)
+ {
+ var ascii = new ASCIIEncoding();
+ var tempLen = 0;
+ var bytes = ascii.GetBytes(value);
+ foreach (var b in bytes)
+ {
+ if (b == 63)
+ {
+ tempLen += 2;
+ }
+ else
+ {
+ tempLen += 1;
+ }
+ }
+
+ return tempLen;
+ }
+
+ ///
+ /// 将JSON字符串还原为对象
+ ///
+ /// 要转换的目标类型
+ /// JSON字符串
+ ///
+ public static T FromJsonString(this string json)
+ {
+ Guard.NotNull(json, nameof(json));
+ return JsonConvert.DeserializeObject(json);
+ }
+
+ ///
+ /// 将JSON字符串还原为对象
+ ///
+ /// JSON字符串
+ /// 数据类型
+ public static object FromJsonString(this string json, Type type)
+ {
+ return JsonConvert.DeserializeObject(json, type);
+ }
+
+ ///
+ /// 给URL添加查询参数
+ ///
+ /// URL字符串
+ /// 要添加的参数,形如:"id=1,cid=2"
+ ///
+ public static string AddUrlQuery(this string url, params string[] queries)
+ {
+ foreach (var query in queries)
+ {
+ if (!url.Contains("?"))
+ {
+ url += "?";
+ }
+ else if (!url.EndsWith("&"))
+ {
+ url += "&";
+ }
+
+ url += query;
+ }
+
+ return url;
+ }
+
+ ///
+ /// 获取URL中指定参数的值,不存在返回空字符串
+ ///
+ public static string GetUrlQuery(this string url, string key)
+ {
+ var uri = new Uri(url);
+ var query = uri.Query;
+ if (string.IsNullOrEmpty(query))
+ {
+ return string.Empty;
+ }
+
+ query = query.TrimStart('?');
+ var dict = (from m in query.Split("&", true)
+ let strs = m.Split("=")
+ select new KeyValuePair(strs[0], strs[1]))
+ .ToDictionary(m => m.Key, m => m.Value);
+ if (dict.ContainsKey(key))
+ {
+ return dict[key];
+ }
+
+ return string.Empty;
+ }
+
+ ///
+ /// 给URL添加 # 参数
+ ///
+ /// URL字符串
+ /// 要添加的参数
+ ///
+ public static string AddHashFragment(this string url, string query)
+ {
+ Guard.NotNull(url, nameof(url));
+ Guard.NotNull(query, nameof(query));
+
+ if (!url.Contains("#"))
+ {
+ url += "#";
+ }
+
+ return url + query;
+ }
+
+
+
+ ///
+ /// 将[]数组转换为Base64字符串
+ ///
+ public static string ToBase64String(this byte[] bytes)
+ {
+ Guard.NotNull(bytes, nameof(bytes));
+
+ return Convert.ToBase64String(bytes);
+ }
+
+ ///
+ /// 将字符串转换为Base64字符串,默认编码为
+ ///
+ /// 正常的字符串
+ /// 编码
+ /// Base64字符串
+ public static string ToBase64String(this string source, Encoding encoding = null)
+ {
+ Guard.NotNull(source, nameof(source));
+
+ if (encoding == null) encoding = Encoding.UTF8;
+
+ return Convert.ToBase64String(encoding.GetBytes(source));
+ }
+
+ ///
+ /// 将Base64字符串转换为正常字符串,默认编码为
+ ///
+ /// Base64字符串
+ /// 编码
+ /// 正常字符串
+ public static string FromBase64String(this string base64String, Encoding encoding = null)
+ {
+ Guard.NotNull(base64String, nameof(base64String));
+
+ if (encoding == null) encoding = Encoding.UTF8;
+
+ var bytes = Convert.FromBase64String(base64String);
+ return encoding.GetString(bytes);
+ }
+
+ ///
+ /// 将字符串进行UrlDecode解码
+ ///
+ /// 待UrlDecode解码的字符串
+ /// UrlDecode解码后的字符串
+ public static string ToUrlDecode(this string source)
+ {
+ Guard.NotNull(source, nameof(source));
+
+ return HttpUtility.UrlDecode(source);
+ }
+
+ ///
+ /// 将字符串进行UrlEncode编码
+ ///
+ /// 待UrlEncode编码的字符串
+ /// UrlEncode编码后的字符串
+ public static string ToUrlEncode(this string source)
+ {
+ Guard.NotNull(source, nameof(source));
+
+ return HttpUtility.UrlEncode(source);
+ }
+
+ ///
+ /// 将字符串进行HtmlDecode解码
+ ///
+ /// 待HtmlDecode解码的字符串
+ /// HtmlDecode解码后的字符串
+ public static string ToHtmlDecode(this string source)
+ {
+ Guard.NotNull(source, nameof(source));
+
+ return HttpUtility.HtmlDecode(source);
+ }
+
+ ///
+ /// 将字符串进行HtmlEncode编码
+ ///
+ /// 待HtmlEncode编码的字符串
+ /// HtmlEncode编码后的字符串
+ public static string ToHtmlEncode(this string source)
+ {
+ Guard.NotNull(source, nameof(source));
+
+ return HttpUtility.HtmlEncode(source);
+ }
+
+ ///
+ /// 将字符串转换为十六进制字符串,默认编码为
+ ///
+ public static string ToHexString(this string source, Encoding encoding = null)
+ {
+ Guard.NotNull(source, nameof(source));
+
+ if (encoding == null) encoding = Encoding.UTF8;
+
+ byte[] bytes = encoding.GetBytes(source);
+ return bytes.ToHexString();
+ }
+
+ ///
+ /// 将十六进制字符串转换为常规字符串,默认编码为
+ ///
+ public static string FromHexString(this string hexString, Encoding encoding = null)
+ {
+ Guard.NotNull(hexString, nameof(hexString));
+
+ if (encoding == null) encoding = Encoding.UTF8;
+
+ var bytes = hexString.ToHexBytes();
+ return encoding.GetString(bytes);
+ }
+
+ ///
+ /// 将byte[]编码为十六进制字符串
+ ///
+ /// byte[]数组
+ /// 十六进制字符串
+ public static string ToHexString(this byte[] bytes)
+ {
+ Guard.NotNull(bytes, nameof(bytes));
+
+ return bytes.Aggregate(string.Empty, (current, t) => current + t.ToString("X2"));
+ }
+
+ ///
+ /// 将十六进制字符串转换为byte[]
+ ///
+ /// 十六进制字符串
+ /// byte[]数组
+ public static byte[] ToHexBytes(this string hexString)
+ {
+ hexString = hexString ?? "";
+ hexString = hexString.Replace(" ", "");
+ byte[] bytes = new byte[hexString.Length / 2];
+ for (int i = 0; i < bytes.Length; i++)
+ {
+ bytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16);
+ }
+
+ return bytes;
+ }
+
+ ///
+ /// 将字符串进行Unicode编码,变成形如“\u7f16\u7801”的形式
+ ///
+ /// 要进行编号的字符串
+ public static string ToUnicodeString(this string source)
+ {
+ Guard.NotNull(source, nameof(source));
+
+ var regex = new Regex(@"[^\u0000-\u00ff]");
+ return regex.Replace(source, m => string.Format(@"\u{0:x4}", (short) m.Value[0]));
+ }
+
+ ///
+ /// 将形如“\u7f16\u7801”的Unicode字符串解码
+ ///
+ public static string FromUnicodeString(this string source)
+ {
+ var regex = new Regex(@"\\u([0-9a-fA-F]{4})", RegexOptions.Compiled);
+ return regex.Replace(source,
+ m =>
+ {
+ short s;
+ if (short.TryParse(m.Groups[1].Value, NumberStyles.HexNumber, CultureInfo.InstalledUICulture,
+ out s))
+ {
+ return "" + (char) s;
+ }
+
+ return m.Value;
+ });
+ }
+
+ ///
+ /// 将驼峰字符串按单词拆分并转换成小写,再以特定字符串分隔
+ ///
+ /// 待转换的字符串
+ /// 分隔符字符
+ ///
+ public static string UpperToLowerAndSplit(this string str, string splitStr = "-")
+ {
+ if (string.IsNullOrEmpty(str))
+ {
+ return str;
+ }
+
+ List words = new List();
+ while (str.Length > 0)
+ {
+ char c = str.FirstOrDefault(char.IsUpper);
+ if (c == default(char))
+ {
+ words.Add(str);
+ break;
+ }
+
+ int upperIndex = str.IndexOf(c);
+ if (upperIndex < 0) //admin
+ {
+ return str;
+ }
+
+ if (upperIndex > 0) //adminAdmin
+ {
+ string first = str.Substring(0, upperIndex);
+ words.Add(first);
+ str = str.Substring(upperIndex, str.Length - upperIndex);
+ continue;
+ }
+
+ str = char.ToLower(str[0]) + str.Substring(1, str.Length - 1);
+ }
+
+ return words.ExpandAndToString(splitStr);
+ }
+
+ ///
+ /// 将驼峰字符串的第一个字符小写
+ ///
+ public static string LowerFirstChar(this string str)
+ {
+ if (string.IsNullOrEmpty(str) || !char.IsUpper(str[0]))
+ {
+ return str;
+ }
+
+ if (str.Length == 1)
+ {
+ return char.ToLower(str[0]).ToString();
+ }
+
+ return char.ToLower(str[0]) + str.Substring(1, str.Length - 1);
+ }
+
+ ///
+ /// 将小驼峰字符串的第一个字符大写
+ ///
+ public static string UpperFirstChar(this string str)
+ {
+ if (string.IsNullOrEmpty(str) || !char.IsLower(str[0]))
+ {
+ return str;
+ }
+
+ if (str.Length == 1)
+ {
+ return char.ToUpper(str[0]).ToString();
+ }
+
+ return char.ToUpper(str[0]) + str.Substring(1, str.Length - 1);
+ }
+
+ ///
+ /// 计算当前字符串与指定字符串的编辑距离(相似度)
+ ///
+ /// 源字符串
+ /// 目标字符串
+ /// 输出相似度
+ /// 是否忽略大小写
+ /// 编辑距离
+ public static int LevenshteinDistance(this string source, string target, out double similarity,
+ bool ignoreCase = false)
+ {
+ if (string.IsNullOrEmpty(source))
+ {
+ if (string.IsNullOrEmpty(target))
+ {
+ similarity = 1;
+ return 0;
+ }
+
+ similarity = 0;
+ return target.Length;
+ }
+
+ if (string.IsNullOrEmpty(target))
+ {
+ similarity = 0;
+ return source.Length;
+ }
+
+ string from, to;
+ if (ignoreCase)
+ {
+ from = source;
+ to = target;
+ }
+ else
+ {
+ from = source.ToLower();
+ to = source.ToLower();
+ }
+
+ int m = from.Length, n = to.Length;
+ int[,] mn = new int[m + 1, n + 1];
+ for (int i = 0; i <= m; i++)
+ {
+ mn[i, 0] = i;
+ }
+
+ for (int j = 1; j <= n; j++)
+ {
+ mn[0, j] = j;
+ }
+
+ for (int i = 1; i <= m; i++)
+ {
+ char c = from[i - 1];
+ for (int j = 1; j <= n; j++)
+ {
+ if (c == to[j - 1])
+ {
+ mn[i, j] = mn[i - 1, j - 1];
+ }
+ else
+ {
+ mn[i, j] = Math.Min(mn[i - 1, j - 1], Math.Min(mn[i - 1, j], mn[i, j - 1])) + 1;
+ }
+ }
+ }
+
+ int maxLength = Math.Max(m, n);
+ similarity = (double) (maxLength - mn[m, n]) / maxLength;
+ return mn[m, n];
+ }
+
+ ///
+ /// 计算两个字符串的相似度,应用公式:相似度=kq*q/(kq*q+kr*r+ks*s)(kq>0,kr>=0,ka>=0)
+ /// 其中,q是字符串1和字符串2中都存在的单词的总数,s是字符串1中存在,字符串2中不存在的单词总数,r是字符串2中存在,字符串1中不存在的单词总数. kq,kr和ka分别是q,r,s的权重,根据实际的计算情况,我们设kq=2,kr=ks=1.
+ ///
+ /// 源字符串
+ /// 目标字符串
+ /// 是否忽略大小写
+ /// 字符串相似度
+ public static double GetSimilarityWith(this string source, string target, bool ignoreCase = false)
+ {
+ if (string.IsNullOrEmpty(source) && string.IsNullOrEmpty(target))
+ {
+ return 1;
+ }
+
+ if (string.IsNullOrEmpty(source) || string.IsNullOrEmpty(target))
+ {
+ return 0;
+ }
+
+ const double kq = 2, kr = 1, ks = 1;
+ char[] sourceChars = source.ToCharArray(), targetChars = target.ToCharArray();
+
+ //获取交集数量
+ int q = sourceChars.Intersect(targetChars).Count(), s = sourceChars.Length - q, r = targetChars.Length - q;
+ return kq * q / (kq * q + kr * r + ks * s);
+ }
+
+ ///
+ /// 标准化Path字符串,将 \\ 转换为 /
+ ///
+ /// Path字符串
+ public static string NormalizePath(this string path)
+ {
+ return path.Replace('\\', '/');
+ }
+
+ ///
+ /// (Pascal) 命名法 的字符串 改为 短横线分隔式命名
+ /// 例如UserName => user-name
+ ///
+ public static string PascalToKebabCase(this string value)
+ {
+ if (string.IsNullOrEmpty(value))
+ {
+ return value;
+ }
+
+ return Regex.Replace(
+ value,
+ "(?
+ /// StringBuilder 扩展方法类
+ ///
+ public static class StringBuilderExtensions
+ {
+ ///
+ /// 去除开头的空格
+ ///
+ ///
+ /// 返回修改后的StringBuilder,主要用于链式操作
+ public static StringBuilder TrimStart(this StringBuilder stringBuilder)
+ {
+ Guard.NotNull(stringBuilder, nameof(stringBuilder));
+
+ return stringBuilder.TrimStart(' ');
+ }
+
+ ///
+ /// 去除开头的指定
+ ///
+ ///
+ /// 要去掉的
+ ///
+ public static StringBuilder TrimStart(this StringBuilder stringBuilder, char c)
+ {
+ Guard.NotNull(stringBuilder, nameof(stringBuilder));
+
+ if (stringBuilder.Length == 0)
+ return stringBuilder;
+ while (c.Equals(stringBuilder[0]))
+ {
+ stringBuilder.Remove(0, 1);
+ }
+
+ return stringBuilder;
+ }
+
+ ///
+ /// 去除开头的指定字符数组
+ ///
+ ///
+ /// 要去掉的字符数组
+ ///
+ public static StringBuilder TrimStart(this StringBuilder stringBuilder, char[] chars)
+ {
+ Guard.NotNull(stringBuilder, nameof(stringBuilder));
+ Guard.NotNull(chars, nameof(chars));
+
+ return stringBuilder.TrimStart(new string(chars));
+ }
+
+ ///
+ /// 去除开头的指定的
+ ///
+ ///
+ /// 要去掉的
+ ///
+ public static StringBuilder TrimStart(this StringBuilder stringBuilder, string str)
+ {
+ Guard.NotNull(stringBuilder, nameof(stringBuilder));
+
+ if (string.IsNullOrEmpty(str)
+ || stringBuilder.Length == 0
+ || str.Length > stringBuilder.Length)
+ {
+ return stringBuilder;
+ }
+
+ while (stringBuilder.SubString(0, str.Length).Equals(str))
+ {
+ stringBuilder.Remove(0, str.Length);
+ if (str.Length > stringBuilder.Length)
+ {
+ break;
+ }
+ }
+
+ return stringBuilder;
+ }
+
+ ///
+ /// 去除StringBuilder结尾的空格
+ ///
+ /// StringBuilder
+ /// 返回修改后的StringBuilder,主要用于链式操作
+ public static StringBuilder TrimEnd(this StringBuilder stringBuilder)
+ {
+ return stringBuilder.TrimEnd(' ');
+ }
+
+ ///
+ /// 去除结尾指定字符
+ ///
+ ///
+ /// 要去掉的字符
+ ///
+ public static StringBuilder TrimEnd(this StringBuilder stringBuilder, char c)
+ {
+ Guard.NotNull(stringBuilder, nameof(stringBuilder));
+ if (stringBuilder.Length == 0)
+ {
+ return stringBuilder;
+ }
+
+ while (c.Equals(stringBuilder[stringBuilder.Length - 1]))
+ {
+ stringBuilder.Remove(stringBuilder.Length - 1, 1);
+ }
+
+ return stringBuilder;
+ }
+
+ ///
+ /// 去除结尾指定字符数组
+ ///
+ ///
+ /// 要去除的字符数组
+ ///
+ public static StringBuilder TrimEnd(this StringBuilder stringBuilder, char[] chars)
+ {
+ Guard.NotNull(stringBuilder, nameof(stringBuilder));
+ Guard.NotNull(chars, nameof(chars));
+
+ return stringBuilder.TrimEnd(new string(chars));
+ }
+
+ ///
+ /// 去除结尾指定字符串
+ ///
+ ///
+ /// 要去除的字符串
+ ///
+ public static StringBuilder TrimEnd(this StringBuilder stringBuilder, string str)
+ {
+ Guard.NotNull(stringBuilder, nameof(stringBuilder));
+ if (string.IsNullOrEmpty(str)
+ || stringBuilder.Length == 0
+ || str.Length > stringBuilder.Length)
+ {
+ return stringBuilder;
+ }
+ while (stringBuilder.SubString(stringBuilder.Length - str.Length, str.Length).Equals(str))
+ {
+ stringBuilder.Remove(stringBuilder.Length - str.Length, str.Length);
+ if (stringBuilder.Length < str.Length)
+ {
+ break;
+ }
+ }
+
+ return stringBuilder;
+ }
+
+ ///
+ /// 去除StringBuilder两端的空格
+ ///
+ /// StringBuilder
+ /// 返回修改后的StringBuilder,主要用于链式操作
+ public static StringBuilder Trim(this StringBuilder stringBuilder)
+ {
+ Guard.NotNull(stringBuilder, nameof(stringBuilder));
+
+ if (stringBuilder.Length == 0)
+ return stringBuilder;
+ return stringBuilder.TrimEnd().TrimStart();
+ }
+
+ ///
+ /// 返回从起始位置指定长度的字符串
+ ///
+ ///
+ /// 起始位置
+ /// 长度
+ /// 字符串
+ /// 超出字符串索引长度异常
+ public static string SubString(this StringBuilder stringBuilder, int start, int length)
+ {
+ Guard.NotNull(stringBuilder, nameof(stringBuilder));
+
+ if (start + length > stringBuilder.Length)
+ {
+ throw new IndexOutOfRangeException("超出字符串索引长度");
+ }
+
+ var cs = new char[length];
+ for (var i = 0; i < length; i++)
+ {
+ cs[i] = stringBuilder[start + i];
+ }
+
+ return new string(cs);
+ }
+
+ public static StringBuilder AppendLineWithControlChar(this StringBuilder stringBuilder, StringBuilder sb, string newLine)
+ {
+ stringBuilder = AppendWithControlChar(stringBuilder, sb.ToString());
+ return stringBuilder.Append(newLine);
+ }
+
+ public static StringBuilder AppendLineWithControlChar(this StringBuilder stringBuilder, string str, string newLine)
+ {
+ stringBuilder = AppendWithControlChar(stringBuilder, str);
+ return stringBuilder.Append(newLine);
+ }
+
+ public static StringBuilder AppendWithControlChar(this StringBuilder stringBuilder, StringBuilder sb)
+ {
+ return AppendWithControlChar(stringBuilder, sb.ToString());
+ }
+
+ public static StringBuilder AppendWithControlChar(this StringBuilder stringBuilder, string str)
+ {
+ if (str.Contains('\b'))
+ {
+ foreach (var c in str)
+ {
+ if (c == '\b')
+ {
+ stringBuilder.Length--;
+ }
+ else
+ {
+ stringBuilder.Append(c);
+ }
+ }
+ }
+ else
+ {
+ stringBuilder.Append(str);
+ }
+
+ return stringBuilder;
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/CompanyName.ProjectName.PublicGateway.csproj b/aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/CompanyName.ProjectName.PublicGateway.csproj
new file mode 100644
index 00000000..11984f2d
--- /dev/null
+++ b/aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/CompanyName.ProjectName.PublicGateway.csproj
@@ -0,0 +1,11 @@
+
+
+
+ net5.0
+
+
+
+
+
+
+
diff --git a/aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/Controllers/WeatherForecastController.cs b/aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/Controllers/WeatherForecastController.cs
new file mode 100644
index 00000000..2af021d9
--- /dev/null
+++ b/aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/Controllers/WeatherForecastController.cs
@@ -0,0 +1,40 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.Extensions.Logging;
+
+namespace CompanyName.ProjectName.PublicGateway.Controllers
+{
+ [ApiController]
+ [Route("[controller]")]
+ public class WeatherForecastController : ControllerBase
+ {
+ private static readonly string[] Summaries = new[]
+ {
+ "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering",
+ "Scorching"
+ };
+
+ private readonly ILogger _logger;
+
+ public WeatherForecastController(ILogger logger)
+ {
+ _logger = logger;
+ }
+
+ [HttpGet]
+ public IEnumerable Get()
+ {
+ var rng = new Random();
+ return Enumerable.Range(1, 5).Select(index => new WeatherForecast
+ {
+ Date = DateTime.Now.AddDays(index),
+ TemperatureC = rng.Next(-20, 55),
+ Summary = Summaries[rng.Next(Summaries.Length)]
+ })
+ .ToArray();
+ }
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/Program.cs b/aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/Program.cs
new file mode 100644
index 00000000..6c2882f0
--- /dev/null
+++ b/aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/Program.cs
@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.Hosting;
+using Microsoft.Extensions.Logging;
+
+namespace CompanyName.ProjectName.PublicGateway
+{
+ public class Program
+ {
+ public static void Main(string[] args)
+ {
+ CreateHostBuilder(args).Build().Run();
+ }
+
+ public static IHostBuilder CreateHostBuilder(string[] args) =>
+ Host.CreateDefaultBuilder(args)
+ .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup(); });
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/Properties/launchSettings.json b/aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/Properties/launchSettings.json
new file mode 100644
index 00000000..f0771cbb
--- /dev/null
+++ b/aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/Properties/launchSettings.json
@@ -0,0 +1,31 @@
+{
+ "$schema": "http://json.schemastore.org/launchsettings.json",
+ "iisSettings": {
+ "windowsAuthentication": false,
+ "anonymousAuthentication": true,
+ "iisExpress": {
+ "applicationUrl": "http://localhost:29877",
+ "sslPort": 44344
+ }
+ },
+ "profiles": {
+ "IIS Express": {
+ "commandName": "IISExpress",
+ "launchBrowser": true,
+ "launchUrl": "swagger",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "CompanyName.ProjectName.PublicGateway": {
+ "commandName": "Project",
+ "dotnetRunMessages": "true",
+ "launchBrowser": true,
+ "launchUrl": "swagger",
+ "applicationUrl": "https://localhost:5001;http://localhost:5000",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ }
+ }
+}
diff --git a/aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/Startup.cs b/aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/Startup.cs
new file mode 100644
index 00000000..63ce8e33
--- /dev/null
+++ b/aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/Startup.cs
@@ -0,0 +1,58 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Builder;
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.AspNetCore.HttpsPolicy;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Microsoft.Extensions.Logging;
+using Microsoft.OpenApi.Models;
+
+namespace CompanyName.ProjectName.PublicGateway
+{
+ public class Startup
+ {
+ public Startup(IConfiguration configuration)
+ {
+ Configuration = configuration;
+ }
+
+ public IConfiguration Configuration { get; }
+
+ // This method gets called by the runtime. Use this method to add services to the container.
+ public void ConfigureServices(IServiceCollection services)
+ {
+ services.AddControllers();
+ services.AddSwaggerGen(c =>
+ {
+ c.SwaggerDoc("v1",
+ new OpenApiInfo
+ { Title = "CompanyName.ProjectName.PublicGateway", Version = "v1" });
+ });
+ }
+
+ // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
+ public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
+ {
+ if (env.IsDevelopment())
+ {
+ app.UseDeveloperExceptionPage();
+ app.UseSwagger();
+ app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json",
+ "CompanyName.ProjectName.PublicGateway v1"));
+ }
+
+ app.UseHttpsRedirection();
+
+ app.UseRouting();
+
+ app.UseAuthorization();
+
+ app.UseEndpoints(endpoints => { endpoints.MapControllers(); });
+ }
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/WeatherForecast.cs b/aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/WeatherForecast.cs
new file mode 100644
index 00000000..298c8728
--- /dev/null
+++ b/aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/WeatherForecast.cs
@@ -0,0 +1,15 @@
+using System;
+
+namespace CompanyName.ProjectName.PublicGateway
+{
+ public class WeatherForecast
+ {
+ public DateTime Date { get; set; }
+
+ public int TemperatureC { get; set; }
+
+ public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
+
+ public string Summary { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/appsettings.Development.json b/aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/appsettings.Development.json
new file mode 100644
index 00000000..8983e0fc
--- /dev/null
+++ b/aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/appsettings.Development.json
@@ -0,0 +1,9 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft": "Warning",
+ "Microsoft.Hosting.Lifetime": "Information"
+ }
+ }
+}
diff --git a/aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/appsettings.json b/aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/appsettings.json
new file mode 100644
index 00000000..d9d9a9bf
--- /dev/null
+++ b/aspnet-core/gateways/CompanyName.ProjectName.PublicGateway/appsettings.json
@@ -0,0 +1,10 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft": "Warning",
+ "Microsoft.Hosting.Lifetime": "Information"
+ }
+ },
+ "AllowedHosts": "*"
+}
diff --git a/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/CompanyName.ProjectName.WebGateway.csproj b/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/CompanyName.ProjectName.WebGateway.csproj
new file mode 100644
index 00000000..11984f2d
--- /dev/null
+++ b/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/CompanyName.ProjectName.WebGateway.csproj
@@ -0,0 +1,11 @@
+
+
+
+ net5.0
+
+
+
+
+
+
+
diff --git a/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/Controllers/WeatherForecastController.cs b/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/Controllers/WeatherForecastController.cs
new file mode 100644
index 00000000..4b0dd1c0
--- /dev/null
+++ b/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/Controllers/WeatherForecastController.cs
@@ -0,0 +1,40 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.Extensions.Logging;
+
+namespace CompanyName.ProjectName.WebGateway.Controllers
+{
+ [ApiController]
+ [Route("[controller]")]
+ public class WeatherForecastController : ControllerBase
+ {
+ private static readonly string[] Summaries = new[]
+ {
+ "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering",
+ "Scorching"
+ };
+
+ private readonly ILogger _logger;
+
+ public WeatherForecastController(ILogger logger)
+ {
+ _logger = logger;
+ }
+
+ [HttpGet]
+ public IEnumerable Get()
+ {
+ var rng = new Random();
+ return Enumerable.Range(1, 5).Select(index => new WeatherForecast
+ {
+ Date = DateTime.Now.AddDays(index),
+ TemperatureC = rng.Next(-20, 55),
+ Summary = Summaries[rng.Next(Summaries.Length)]
+ })
+ .ToArray();
+ }
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/Program.cs b/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/Program.cs
new file mode 100644
index 00000000..b067d793
--- /dev/null
+++ b/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/Program.cs
@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.Hosting;
+using Microsoft.Extensions.Logging;
+
+namespace CompanyName.ProjectName.WebGateway
+{
+ public class Program
+ {
+ public static void Main(string[] args)
+ {
+ CreateHostBuilder(args).Build().Run();
+ }
+
+ public static IHostBuilder CreateHostBuilder(string[] args) =>
+ Host.CreateDefaultBuilder(args)
+ .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup(); });
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/Properties/launchSettings.json b/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/Properties/launchSettings.json
new file mode 100644
index 00000000..793664c0
--- /dev/null
+++ b/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/Properties/launchSettings.json
@@ -0,0 +1,31 @@
+{
+ "$schema": "http://json.schemastore.org/launchsettings.json",
+ "iisSettings": {
+ "windowsAuthentication": false,
+ "anonymousAuthentication": true,
+ "iisExpress": {
+ "applicationUrl": "http://localhost:2409",
+ "sslPort": 44302
+ }
+ },
+ "profiles": {
+ "IIS Express": {
+ "commandName": "IISExpress",
+ "launchBrowser": true,
+ "launchUrl": "swagger",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "CompanyName.ProjectName.WebGateway": {
+ "commandName": "Project",
+ "dotnetRunMessages": "true",
+ "launchBrowser": true,
+ "launchUrl": "swagger",
+ "applicationUrl": "https://localhost:5001;http://localhost:5000",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ }
+ }
+}
diff --git a/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/Startup.cs b/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/Startup.cs
new file mode 100644
index 00000000..245a83b8
--- /dev/null
+++ b/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/Startup.cs
@@ -0,0 +1,58 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Builder;
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.AspNetCore.HttpsPolicy;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Microsoft.Extensions.Logging;
+using Microsoft.OpenApi.Models;
+
+namespace CompanyName.ProjectName.WebGateway
+{
+ public class Startup
+ {
+ public Startup(IConfiguration configuration)
+ {
+ Configuration = configuration;
+ }
+
+ public IConfiguration Configuration { get; }
+
+ // This method gets called by the runtime. Use this method to add services to the container.
+ public void ConfigureServices(IServiceCollection services)
+ {
+ services.AddControllers();
+ services.AddSwaggerGen(c =>
+ {
+ c.SwaggerDoc("v1",
+ new OpenApiInfo
+ { Title = "CompanyName.ProjectName.WebGateway", Version = "v1" });
+ });
+ }
+
+ // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
+ public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
+ {
+ if (env.IsDevelopment())
+ {
+ app.UseDeveloperExceptionPage();
+ app.UseSwagger();
+ app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json",
+ "CompanyName.ProjectName.WebGateway v1"));
+ }
+
+ app.UseHttpsRedirection();
+
+ app.UseRouting();
+
+ app.UseAuthorization();
+
+ app.UseEndpoints(endpoints => { endpoints.MapControllers(); });
+ }
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/WeatherForecast.cs b/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/WeatherForecast.cs
new file mode 100644
index 00000000..d258003e
--- /dev/null
+++ b/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/WeatherForecast.cs
@@ -0,0 +1,15 @@
+using System;
+
+namespace CompanyName.ProjectName.WebGateway
+{
+ public class WeatherForecast
+ {
+ public DateTime Date { get; set; }
+
+ public int TemperatureC { get; set; }
+
+ public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
+
+ public string Summary { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/appsettings.Development.json b/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/appsettings.Development.json
new file mode 100644
index 00000000..8983e0fc
--- /dev/null
+++ b/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/appsettings.Development.json
@@ -0,0 +1,9 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft": "Warning",
+ "Microsoft.Hosting.Lifetime": "Information"
+ }
+ }
+}
diff --git a/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/appsettings.json b/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/appsettings.json
new file mode 100644
index 00000000..d9d9a9bf
--- /dev/null
+++ b/aspnet-core/gateways/CompanyName.ProjectName.WebGateway/appsettings.json
@@ -0,0 +1,10 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft": "Warning",
+ "Microsoft.Hosting.Lifetime": "Information"
+ }
+ },
+ "AllowedHosts": "*"
+}
diff --git a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Application.Contracts/DataDictionaries/Dtos/PagingDataDictionaryDetailInput.cs b/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Application.Contracts/DataDictionaries/Dtos/PagingDataDictionaryDetailInput.cs
index 27d91556..afcfc520 100644
--- a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Application.Contracts/DataDictionaries/Dtos/PagingDataDictionaryDetailInput.cs
+++ b/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Application.Contracts/DataDictionaries/Dtos/PagingDataDictionaryDetailInput.cs
@@ -1,5 +1,6 @@
using System;
-using CompanyName.ProjectName.Extensions.Customs;
+using Lion.Abp.Extension;
+
namespace CompanyName.ProjectName.DataDictionaryManagement.DataDictionaries.Dtos
{
diff --git a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Application.Contracts/DataDictionaries/Dtos/PagingDataDictionaryInput.cs b/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Application.Contracts/DataDictionaries/Dtos/PagingDataDictionaryInput.cs
index e671c006..f0df7dee 100644
--- a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Application.Contracts/DataDictionaries/Dtos/PagingDataDictionaryInput.cs
+++ b/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Application.Contracts/DataDictionaries/Dtos/PagingDataDictionaryInput.cs
@@ -1,4 +1,4 @@
-using CompanyName.ProjectName.Extensions.Customs;
+using Lion.Abp.Extension;
namespace CompanyName.ProjectName.DataDictionaryManagement.DataDictionaries.Dtos
{
diff --git a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Application/DataDictionaries/DataDictionaryAppService.cs b/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Application/DataDictionaries/DataDictionaryAppService.cs
index bb105597..c8ab22d6 100644
--- a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Application/DataDictionaries/DataDictionaryAppService.cs
+++ b/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Application/DataDictionaries/DataDictionaryAppService.cs
@@ -1,11 +1,9 @@
using System.Collections.Generic;
using System.Linq;
-using System.Linq.Dynamic.Core;
using System.Threading;
using System.Threading.Tasks;
using CompanyName.ProjectName.DataDictionaryManagement.DataDictionaries.Aggregates;
using CompanyName.ProjectName.DataDictionaryManagement.DataDictionaries.Dtos;
-using CompanyName.ProjectName.Publics.Dtos;
using Volo.Abp.Application.Dtos;
namespace CompanyName.ProjectName.DataDictionaryManagement.DataDictionaries
diff --git a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Domain.Shared/CompanyName.ProjectName.DataDictionaryManagement.Domain.Shared.csproj b/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Domain.Shared/CompanyName.ProjectName.DataDictionaryManagement.Domain.Shared.csproj
index ea879c8d..9ebbd42c 100644
--- a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Domain.Shared/CompanyName.ProjectName.DataDictionaryManagement.Domain.Shared.csproj
+++ b/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Domain.Shared/CompanyName.ProjectName.DataDictionaryManagement.Domain.Shared.csproj
@@ -14,7 +14,7 @@
-
+
diff --git a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Domain/CompanyName.ProjectName.DataDictionaryManagement.Domain.csproj b/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Domain/CompanyName.ProjectName.DataDictionaryManagement.Domain.csproj
index 0a8b4e9d..8a63951d 100644
--- a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Domain/CompanyName.ProjectName.DataDictionaryManagement.Domain.csproj
+++ b/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Domain/CompanyName.ProjectName.DataDictionaryManagement.Domain.csproj
@@ -9,6 +9,8 @@
+
+
diff --git a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Domain/DataDictionaries/Aggregates/DataDictionary.cs b/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Domain/DataDictionaries/Aggregates/DataDictionary.cs
index 2ad4aa58..45796b9c 100644
--- a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Domain/DataDictionaries/Aggregates/DataDictionary.cs
+++ b/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Domain/DataDictionaries/Aggregates/DataDictionary.cs
@@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using CompanyName.ProjectName.DataDictionaryManagement.DataDictionaries.Exceptions;
-using CompanyName.ProjectName.Extensions.Customs;
+using Lion.Abp.Extension;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;
diff --git a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Domain/DataDictionaries/Aggregates/DataDictionaryDetail.cs b/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Domain/DataDictionaries/Aggregates/DataDictionaryDetail.cs
index c78ed685..c7af3e3a 100644
--- a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Domain/DataDictionaries/Aggregates/DataDictionaryDetail.cs
+++ b/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Domain/DataDictionaries/Aggregates/DataDictionaryDetail.cs
@@ -1,5 +1,5 @@
using System;
-using CompanyName.ProjectName.Extensions.Customs;
+using Lion.Abp.Extension;
using Volo.Abp.Domain.Entities.Auditing;
namespace CompanyName.ProjectName.DataDictionaryManagement.DataDictionaries.Aggregates
diff --git a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Domain/DataDictionaryManagementDomainModule.cs b/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Domain/DataDictionaryManagementDomainModule.cs
index 0cc1c567..a4155a49 100644
--- a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Domain/DataDictionaryManagementDomainModule.cs
+++ b/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.Domain/DataDictionaryManagementDomainModule.cs
@@ -1,11 +1,13 @@
-using Volo.Abp.Domain;
+using Lion.Abp.Domain;
+using Volo.Abp.Domain;
using Volo.Abp.Modularity;
namespace CompanyName.ProjectName.DataDictionaryManagement
{
[DependsOn(
typeof(AbpDddDomainModule),
- typeof(DataDictionaryManagementDomainSharedModule)
+ typeof(DataDictionaryManagementDomainSharedModule),
+ typeof(LionAbpDomainModule)
)]
public class DataDictionaryManagementDomainModule : AbpModule
{
diff --git a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/CompanyName.ProjectName.DataDictionaryManagement.MongoDB.csproj b/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/CompanyName.ProjectName.DataDictionaryManagement.MongoDB.csproj
deleted file mode 100644
index 7d177f15..00000000
--- a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/CompanyName.ProjectName.DataDictionaryManagement.MongoDB.csproj
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
- net5.0
- CompanyName.ProjectName.DataDictionaryManagement
-
-
-
-
-
-
-
-
diff --git a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/FodyWeavers.xml b/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/FodyWeavers.xml
deleted file mode 100644
index be0de3a9..00000000
--- a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/FodyWeavers.xsd b/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e2..00000000
--- a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/MongoDB/DataDictionaryManagementMongoDbContext.cs b/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/MongoDB/DataDictionaryManagementMongoDbContext.cs
deleted file mode 100644
index 4ea626c4..00000000
--- a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/MongoDB/DataDictionaryManagementMongoDbContext.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using Volo.Abp.Data;
-using Volo.Abp.MongoDB;
-
-namespace CompanyName.ProjectName.DataDictionaryManagement.MongoDB
-{
- [ConnectionStringName(DataDictionaryManagementDbProperties.ConnectionStringName)]
- public class DataDictionaryManagementMongoDbContext : AbpMongoDbContext, IDataDictionaryManagementMongoDbContext
- {
- /* Add mongo collections here. Example:
- * public IMongoCollection Questions => Collection();
- */
-
- protected override void CreateModel(IMongoModelBuilder modelBuilder)
- {
- base.CreateModel(modelBuilder);
-
- modelBuilder.ConfigureDataDictionaryManagement();
- }
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/MongoDB/DataDictionaryManagementMongoDbContextExtensions.cs b/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/MongoDB/DataDictionaryManagementMongoDbContextExtensions.cs
deleted file mode 100644
index 7bedbd34..00000000
--- a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/MongoDB/DataDictionaryManagementMongoDbContextExtensions.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System;
-using Volo.Abp;
-using Volo.Abp.MongoDB;
-
-namespace CompanyName.ProjectName.DataDictionaryManagement.MongoDB
-{
- public static class DataDictionaryManagementMongoDbContextExtensions
- {
- public static void ConfigureDataDictionaryManagement(
- this IMongoModelBuilder builder,
- Action optionsAction = null)
- {
- Check.NotNull(builder, nameof(builder));
-
- var options = new DataDictionaryManagementMongoModelBuilderConfigurationOptions(
- DataDictionaryManagementDbProperties.DbTablePrefix
- );
-
- optionsAction?.Invoke(options);
- }
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/MongoDB/DataDictionaryManagementMongoDbModule.cs b/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/MongoDB/DataDictionaryManagementMongoDbModule.cs
deleted file mode 100644
index fb308141..00000000
--- a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/MongoDB/DataDictionaryManagementMongoDbModule.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using Microsoft.Extensions.DependencyInjection;
-using Volo.Abp.Modularity;
-using Volo.Abp.MongoDB;
-
-namespace CompanyName.ProjectName.DataDictionaryManagement.MongoDB
-{
- [DependsOn(
- typeof(DataDictionaryManagementDomainModule),
- typeof(AbpMongoDbModule)
- )]
- public class DataDictionaryManagementMongoDbModule : AbpModule
- {
- public override void ConfigureServices(ServiceConfigurationContext context)
- {
- context.Services.AddMongoDbContext(options =>
- {
- /* Add custom repositories here. Example:
- * options.AddRepository();
- */
- });
- }
- }
-}
diff --git a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/MongoDB/DataDictionaryManagementMongoModelBuilderConfigurationOptions.cs b/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/MongoDB/DataDictionaryManagementMongoModelBuilderConfigurationOptions.cs
deleted file mode 100644
index e657d68f..00000000
--- a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/MongoDB/DataDictionaryManagementMongoModelBuilderConfigurationOptions.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using JetBrains.Annotations;
-using Volo.Abp.MongoDB;
-
-namespace CompanyName.ProjectName.DataDictionaryManagement.MongoDB
-{
- public class DataDictionaryManagementMongoModelBuilderConfigurationOptions : AbpMongoModelBuilderConfigurationOptions
- {
- public DataDictionaryManagementMongoModelBuilderConfigurationOptions(
- [NotNull] string collectionPrefix = "")
- : base(collectionPrefix)
- {
- }
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/MongoDB/IDataDictionaryManagementMongoDbContext.cs b/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/MongoDB/IDataDictionaryManagementMongoDbContext.cs
deleted file mode 100644
index d76973bd..00000000
--- a/aspnet-core/modules/DataDictionaryManagement/src/CompanyName.ProjectName.DataDictionaryManagement.MongoDB/MongoDB/IDataDictionaryManagementMongoDbContext.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using Volo.Abp.Data;
-using Volo.Abp.MongoDB;
-
-namespace CompanyName.ProjectName.DataDictionaryManagement.MongoDB
-{
- [ConnectionStringName(DataDictionaryManagementDbProperties.ConnectionStringName)]
- public interface IDataDictionaryManagementMongoDbContext : IAbpMongoDbContext
- {
- /* Define mongo collections here. Example:
- * IMongoCollection Questions { get; }
- */
- }
-}
diff --git a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.Application.Contracts/CompanyName.ProjectName.NotificationManagement.Application.Contracts.csproj b/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.Application.Contracts/CompanyName.ProjectName.NotificationManagement.Application.Contracts.csproj
index 1295291f..e061c5e1 100644
--- a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.Application.Contracts/CompanyName.ProjectName.NotificationManagement.Application.Contracts.csproj
+++ b/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.Application.Contracts/CompanyName.ProjectName.NotificationManagement.Application.Contracts.csproj
@@ -10,7 +10,6 @@
-
diff --git a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.Application.Contracts/Notifications/Dtos/PagingNotificationListInput.cs b/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.Application.Contracts/Notifications/Dtos/PagingNotificationListInput.cs
index 53220359..44650c06 100644
--- a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.Application.Contracts/Notifications/Dtos/PagingNotificationListInput.cs
+++ b/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.Application.Contracts/Notifications/Dtos/PagingNotificationListInput.cs
@@ -1,5 +1,4 @@
-using System;
-using CompanyName.ProjectName.Extensions.Customs;
+using Lion.Abp.Extension;
namespace CompanyName.ProjectName.NotificationManagement.Notifications.Dtos
{
diff --git a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.Domain.Shared/CompanyName.ProjectName.NotificationManagement.Domain.Shared.csproj b/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.Domain.Shared/CompanyName.ProjectName.NotificationManagement.Domain.Shared.csproj
index 3b63efc9..72da3aa1 100644
--- a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.Domain.Shared/CompanyName.ProjectName.NotificationManagement.Domain.Shared.csproj
+++ b/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.Domain.Shared/CompanyName.ProjectName.NotificationManagement.Domain.Shared.csproj
@@ -1,26 +1,30 @@
-
-
-
- net5.0
- CompanyName.ProjectName.NotificationManagement
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ net5.0
+ CompanyName.ProjectName.NotificationManagement
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.Domain/CompanyName.ProjectName.NotificationManagement.Domain.csproj b/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.Domain/CompanyName.ProjectName.NotificationManagement.Domain.csproj
index 49fdefd6..b68988eb 100644
--- a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.Domain/CompanyName.ProjectName.NotificationManagement.Domain.csproj
+++ b/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.Domain/CompanyName.ProjectName.NotificationManagement.Domain.csproj
@@ -9,8 +9,8 @@
+
-
diff --git a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.Domain/NotificationManagementDomainService.cs b/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.Domain/NotificationManagementDomainService.cs
index 69def55a..322431b5 100644
--- a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.Domain/NotificationManagementDomainService.cs
+++ b/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.Domain/NotificationManagementDomainService.cs
@@ -1,9 +1,9 @@
-using CompanyName.ProjectName.Extensions.Volo.Abp;
-using Volo.Abp.Domain.Services;
+using System;
+using Lion.Abp.Domain;
namespace CompanyName.ProjectName.NotificationManagement
{
- public abstract class NotificationManagementDomainService : BaseDomainService
+ public abstract class NotificationManagementDomainService : LionAbpDomainService
{
protected NotificationManagementDomainService()
{
diff --git a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.Domain/Notifications/Aggregates/Notification.cs b/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.Domain/Notifications/Aggregates/Notification.cs
index 3aa9368a..1a523686 100644
--- a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.Domain/Notifications/Aggregates/Notification.cs
+++ b/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.Domain/Notifications/Aggregates/Notification.cs
@@ -2,9 +2,9 @@ using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
-using CompanyName.ProjectName.Extensions.Customs;
using Volo.Abp.Domain.Entities.Auditing;
using CompanyName.ProjectName.NotificationManagement.Notifications.DistributedEvents;
+using Lion.Abp.Extension;
namespace CompanyName.ProjectName.NotificationManagement.Notifications
{
diff --git a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/CompanyName.ProjectName.NotificationManagement.MongoDB.csproj b/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/CompanyName.ProjectName.NotificationManagement.MongoDB.csproj
deleted file mode 100644
index f0e003b4..00000000
--- a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/CompanyName.ProjectName.NotificationManagement.MongoDB.csproj
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
- net5.0
- CompanyName.ProjectName.NotificationManagement
-
-
-
-
-
-
-
-
diff --git a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/FodyWeavers.xml b/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/FodyWeavers.xml
deleted file mode 100644
index be0de3a9..00000000
--- a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/FodyWeavers.xsd b/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e2..00000000
--- a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/MongoDB/INotificationManagementMongoDbContext.cs b/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/MongoDB/INotificationManagementMongoDbContext.cs
deleted file mode 100644
index c3a0efb2..00000000
--- a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/MongoDB/INotificationManagementMongoDbContext.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using Volo.Abp.Data;
-using Volo.Abp.MongoDB;
-
-namespace CompanyName.ProjectName.NotificationManagement.MongoDB
-{
- [ConnectionStringName(NotificationManagementDbProperties.ConnectionStringName)]
- public interface INotificationManagementMongoDbContext : IAbpMongoDbContext
- {
- /* Define mongo collections here. Example:
- * IMongoCollection Questions { get; }
- */
- }
-}
diff --git a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/MongoDB/NotificationManagementMongoDbContext.cs b/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/MongoDB/NotificationManagementMongoDbContext.cs
deleted file mode 100644
index 7fca0e93..00000000
--- a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/MongoDB/NotificationManagementMongoDbContext.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using Volo.Abp.Data;
-using Volo.Abp.MongoDB;
-
-namespace CompanyName.ProjectName.NotificationManagement.MongoDB
-{
- [ConnectionStringName(NotificationManagementDbProperties.ConnectionStringName)]
- public class NotificationManagementMongoDbContext : AbpMongoDbContext, INotificationManagementMongoDbContext
- {
- /* Add mongo collections here. Example:
- * public IMongoCollection Questions => Collection();
- */
-
- protected override void CreateModel(IMongoModelBuilder modelBuilder)
- {
- base.CreateModel(modelBuilder);
-
- modelBuilder.ConfigureNotificationManagement();
- }
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/MongoDB/NotificationManagementMongoDbContextExtensions.cs b/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/MongoDB/NotificationManagementMongoDbContextExtensions.cs
deleted file mode 100644
index 367a359e..00000000
--- a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/MongoDB/NotificationManagementMongoDbContextExtensions.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System;
-using Volo.Abp;
-using Volo.Abp.MongoDB;
-
-namespace CompanyName.ProjectName.NotificationManagement.MongoDB
-{
- public static class NotificationManagementMongoDbContextExtensions
- {
- public static void ConfigureNotificationManagement(
- this IMongoModelBuilder builder,
- Action optionsAction = null)
- {
- Check.NotNull(builder, nameof(builder));
-
- var options = new NotificationManagementMongoModelBuilderConfigurationOptions(
- NotificationManagementDbProperties.DbTablePrefix
- );
-
- optionsAction?.Invoke(options);
- }
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/MongoDB/NotificationManagementMongoDbModule.cs b/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/MongoDB/NotificationManagementMongoDbModule.cs
deleted file mode 100644
index 0caf4eeb..00000000
--- a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/MongoDB/NotificationManagementMongoDbModule.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using Microsoft.Extensions.DependencyInjection;
-using Volo.Abp.Modularity;
-using Volo.Abp.MongoDB;
-
-namespace CompanyName.ProjectName.NotificationManagement.MongoDB
-{
- [DependsOn(
- typeof(NotificationManagementDomainModule),
- typeof(AbpMongoDbModule)
- )]
- public class NotificationManagementMongoDbModule : AbpModule
- {
- public override void ConfigureServices(ServiceConfigurationContext context)
- {
- context.Services.AddMongoDbContext(options =>
- {
- /* Add custom repositories here. Example:
- * options.AddRepository();
- */
- });
- }
- }
-}
diff --git a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/MongoDB/NotificationManagementMongoModelBuilderConfigurationOptions.cs b/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/MongoDB/NotificationManagementMongoModelBuilderConfigurationOptions.cs
deleted file mode 100644
index f97898ee..00000000
--- a/aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.MongoDB/MongoDB/NotificationManagementMongoModelBuilderConfigurationOptions.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using JetBrains.Annotations;
-using Volo.Abp.MongoDB;
-
-namespace CompanyName.ProjectName.NotificationManagement.MongoDB
-{
- public class NotificationManagementMongoModelBuilderConfigurationOptions : AbpMongoModelBuilderConfigurationOptions
- {
- public NotificationManagementMongoModelBuilderConfigurationOptions(
- [NotNull] string collectionPrefix = "")
- : base(collectionPrefix)
- {
- }
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/CompanyName.ProjectName.QueryManagement.Application.Contracts.csproj b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/CompanyName.ProjectName.QueryManagement.Application.Contracts.csproj
deleted file mode 100644
index de296152..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/CompanyName.ProjectName.QueryManagement.Application.Contracts.csproj
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
- net5.0
- CompanyName.ProjectName.QueryManagement
-
-
-
-
-
-
-
-
-
-
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/ElasticSearchs/ILogAppService.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/ElasticSearchs/ILogAppService.cs
deleted file mode 100644
index afb472f3..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/ElasticSearchs/ILogAppService.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System.Threading.Tasks;
-using CompanyName.ProjectName.Extensions.Customs.Dtos;
-using CompanyName.ProjectName.QueryManagement.ElasticSearchs.Dtos;
-using Volo.Abp.Application.Services;
-
-namespace CompanyName.ProjectName.QueryManagement.ElasticSearchs
-{
- public interface ILogAppService : IApplicationService
- {
- Task> PaingLogAsync(PagingElasticSearchLogInput input);
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/FodyWeavers.xml b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/FodyWeavers.xml
deleted file mode 100644
index be0de3a9..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/FodyWeavers.xsd b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e2..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/Permissions/QueryManagementPermissionDefinitionProvider.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/Permissions/QueryManagementPermissionDefinitionProvider.cs
deleted file mode 100644
index 07ee43fe..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/Permissions/QueryManagementPermissionDefinitionProvider.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using CompanyName.ProjectName.QueryManagement.Localization;
-using Volo.Abp.Authorization.Permissions;
-using Volo.Abp.Identity;
-using Volo.Abp.Localization;
-
-namespace CompanyName.ProjectName.QueryManagement.Permissions
-{
- public class QueryManagementPermissionDefinitionProvider : PermissionDefinitionProvider
- {
- public override void Define(IPermissionDefinitionContext context)
- {
- var abpIdentityGroup = context.GetGroup(IdentityPermissions.GroupName);
- var esManagement = abpIdentityGroup.AddPermission(QueryManagementPermissions.SystemManagement.ES, L("Permission:ESManagement"));
- }
-
- private static LocalizableString L(string name)
- {
- return LocalizableString.Create(name);
- }
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/Permissions/QueryManagementPermissions.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/Permissions/QueryManagementPermissions.cs
deleted file mode 100644
index 4ccc9493..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/Permissions/QueryManagementPermissions.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using Volo.Abp.Reflection;
-
-namespace CompanyName.ProjectName.QueryManagement.Permissions
-{
- public class QueryManagementPermissions
- {
- public const string GroupName = "QueryManagement";
-
- public static string[] GetAll()
- {
- return ReflectionHelper.GetPublicConstantsRecursively(typeof(QueryManagementPermissions));
- }
-
- ///
- /// 系统管理扩展权限
- ///
- public static class SystemManagement
- {
- public const string Default = "System";
- public const string ES = Default + ".ES";
- }
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/QueryManagementApplicationContractsModule.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/QueryManagementApplicationContractsModule.cs
deleted file mode 100644
index b9f4a5a0..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application.Contracts/QueryManagementApplicationContractsModule.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using Volo.Abp.Application;
-using Volo.Abp.Modularity;
-using Volo.Abp.Authorization;
-
-namespace CompanyName.ProjectName.QueryManagement
-{
- [DependsOn(
- typeof(QueryManagementDomainSharedModule),
- typeof(AbpDddApplicationContractsModule),
- typeof(AbpAuthorizationModule)
- )]
- public class QueryManagementApplicationContractsModule : AbpModule
- {
-
- }
-}
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/CompanyName.ProjectName.QueryManagement.Application.csproj b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/CompanyName.ProjectName.QueryManagement.Application.csproj
deleted file mode 100644
index 283f56da..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/CompanyName.ProjectName.QueryManagement.Application.csproj
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
- net5.0
- CompanyName.ProjectName.QueryManagement
-
-
-
-
-
-
-
-
-
-
-
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/ElasticSearchs/LogAppService.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/ElasticSearchs/LogAppService.cs
deleted file mode 100644
index c8410380..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/ElasticSearchs/LogAppService.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-using System.Collections.Generic;
-using System.Threading.Tasks;
-using CompanyName.ProjectName.Extensions.Customs.Dtos;
-using CompanyName.ProjectName.QueryManagement.ElasticSearchs.Dtos;
-using Microsoft.Extensions.Configuration;
-
-namespace CompanyName.ProjectName.QueryManagement.ElasticSearchs
-{
- public class LogAppService : QueryManagementAppService, ILogAppService
- {
- private readonly ICompanyNameProjectNameLogRepository _companyNameProjectNameLogRepository;
- private readonly IConfiguration _configuration;
-
- public LogAppService(
- ICompanyNameProjectNameLogRepository companyNameProjectNameLogRepository,
- IConfiguration configuration)
- {
- _companyNameProjectNameLogRepository = companyNameProjectNameLogRepository;
- _configuration = configuration;
- }
-
- public async Task> PaingLogAsync(PagingElasticSearchLogInput input)
- {
- var enabled = _configuration.GetValue("LogToElasticSearch:Enabled", false);
- if (enabled)
- {
- return await _companyNameProjectNameLogRepository.PaingAsync(input);
- }
- else
- {
- return new CustomePagedResultDto(0, new List());
- }
- }
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/FodyWeavers.xml b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/FodyWeavers.xml
deleted file mode 100644
index be0de3a9..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/FodyWeavers.xsd b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e2..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/QueryManagementAppService.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/QueryManagementAppService.cs
deleted file mode 100644
index 42daca45..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/QueryManagementAppService.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using CompanyName.ProjectName.QueryManagement.Localization;
-using Volo.Abp.Application.Services;
-
-namespace CompanyName.ProjectName.QueryManagement
-{
- public abstract class QueryManagementAppService : ApplicationService
- {
- protected QueryManagementAppService()
- {
- LocalizationResource = typeof(QueryManagementResource);
- ObjectMapperContext = typeof(QueryManagementApplicationModule);
- }
- }
-}
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/QueryManagementApplicationAutoMapperProfile.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/QueryManagementApplicationAutoMapperProfile.cs
deleted file mode 100644
index 1701477d..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/QueryManagementApplicationAutoMapperProfile.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using AutoMapper;
-
-namespace CompanyName.ProjectName.QueryManagement
-{
- public class QueryManagementApplicationAutoMapperProfile : Profile
- {
- public QueryManagementApplicationAutoMapperProfile()
- {
- /* You can configure your AutoMapper mapping configuration here.
- * Alternatively, you can split your mapping configurations
- * into multiple profile classes for a better organization. */
- }
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/QueryManagementApplicationModule.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/QueryManagementApplicationModule.cs
deleted file mode 100644
index eb5075f7..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Application/QueryManagementApplicationModule.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using CompanyName.ProjectName.QueryManagement.ElasticSearch;
-using Microsoft.Extensions.DependencyInjection;
-using Volo.Abp.AutoMapper;
-using Volo.Abp.Modularity;
-using Volo.Abp.Application;
-
-namespace CompanyName.ProjectName.QueryManagement
-{
- [DependsOn(
- typeof(QueryManagementDomainModule),
- typeof(QueryManagementApplicationContractsModule),
- typeof(AbpDddApplicationModule),
- typeof(AbpAutoMapperModule),
- typeof(QueryManagementElasticsearchModule)
- )]
- public class QueryManagementApplicationModule : AbpModule
- {
- public override void ConfigureServices(ServiceConfigurationContext context)
- {
- context.Services.AddAutoMapperObjectMapper();
- Configure(options =>
- {
- options.AddMaps(validate: true);
- });
- }
- }
-}
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/CompanyName.ProjectName.QueryManagement.Domain.Shared.csproj b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/CompanyName.ProjectName.QueryManagement.Domain.Shared.csproj
deleted file mode 100644
index 6b380486..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/CompanyName.ProjectName.QueryManagement.Domain.Shared.csproj
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
- net5.0
- CompanyName.ProjectName.QueryManagement
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/ElasticSearchs/Dtos/PagingElasticSearchLogInput.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/ElasticSearchs/Dtos/PagingElasticSearchLogInput.cs
deleted file mode 100644
index 847e5fa0..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/ElasticSearchs/Dtos/PagingElasticSearchLogInput.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using System;
-using CompanyName.ProjectName.Extensions.Customs;
-
-namespace CompanyName.ProjectName.QueryManagement.ElasticSearchs.Dtos
-{
- public class PagingElasticSearchLogInput : PagingBase
- {
- public string Filter { get; set; }
-
- public DateTime? StartCreationTime { get; set; }
-
- public DateTime? EndCreationTime { get; set; }
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/ElasticSearchs/Dtos/PagingElasticSearchLogOutput.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/ElasticSearchs/Dtos/PagingElasticSearchLogOutput.cs
deleted file mode 100644
index 921b50a8..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/ElasticSearchs/Dtos/PagingElasticSearchLogOutput.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-using System;
-using System.Runtime.Serialization;
-using Nest;
-
-namespace CompanyName.ProjectName.QueryManagement.ElasticSearchs.Dtos
-{
- [Serializable]
- public class PagingElasticSearchLogOutput
- {
- ///
- /// 日志级别
- ///
- public string Level { get; set; }
-
-
- ///
- /// 日志内容
- ///
- public string Message { get; set; }
-
-
- ///
- /// 创建时间
- ///
- // [JsonProperty("@timestamp")]
- //[DataMember(Name = "@timestamp")]
- [PropertyName("@timestamp")]
- public DateTime CreationTime { get; set; }
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/FodyWeavers.xml b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/FodyWeavers.xml
deleted file mode 100644
index be0de3a9..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/FodyWeavers.xsd b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e2..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/ar.json b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/ar.json
deleted file mode 100644
index 37703e51..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/ar.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "culture": "ar",
- "texts": {
- "ManageYourProfile": "إدارة ملفى",
- "SamplePageMessage": "صفحة نموذجية للوحدة النمطية QueryManagement"
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/cs.json b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/cs.json
deleted file mode 100644
index f3a32d87..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/cs.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "culture": "cs",
- "texts": {
- "ManageYourProfile": "Spravovat profil",
- "SamplePageMessage": "Ukázková stránka pro modul QueryManagement"
- }
-}
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/de-DE.json b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/de-DE.json
deleted file mode 100644
index 46b41190..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/de-DE.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "culture": "de-DE",
- "texts": {
- "ManageYourProfile": "Verwalten Sie Ihr Profil",
- "SamplePageMessage": "Eine Beispielseite für das Modul QueryManagementModul"
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/en-GB.json b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/en-GB.json
deleted file mode 100644
index 21ec4e80..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/en-GB.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "culture": "en-GB",
- "texts": {
- "ManageYourProfile": "Manage your profile",
- "SamplePageMessage": "A sample page for the QueryManagement module"
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/en.json b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/en.json
deleted file mode 100644
index 826f0260..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/en.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "culture": "en",
- "texts": {
- "ManageYourProfile": "Manage your profile",
- "SamplePageMessage": "A sample page for the QueryManagement module",
- "Permission:ESManagement": "ElasticSearch"
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/es.json b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/es.json
deleted file mode 100644
index bd3f4873..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/es.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "culture": "es",
- "texts": {
- "ManageYourProfile": "Gestiona tu perfil",
- "SamplePageMessage": "Una página de ejemplo para el módulo QueryManagement "
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/fr.json b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/fr.json
deleted file mode 100644
index 4ef47621..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/fr.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "culture": "fr",
- "texts": {
- "ManageYourProfile": "Gérer votre profil",
- "SamplePageMessage": "Exemple de page pour le module QueryManagement"
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/hu.json b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/hu.json
deleted file mode 100644
index 2ebf0468..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/hu.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "culture": "hu",
- "texts": {
- "ManageYourProfile": "Kezelje a profilját",
- "SamplePageMessage": "Mintaoldal a QueryManagement modulhoz"
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/nl.json b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/nl.json
deleted file mode 100644
index dba2fe8e..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/nl.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "culture": "nl",
- "texts": {
- "ManageYourProfile": "Beheer uw profiel",
- "SamplePageMessage": "Een voorbeeldpagina voor de QueryManagement module"
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/pl-PL.json b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/pl-PL.json
deleted file mode 100644
index 3ea7b190..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/pl-PL.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "culture": "pl-PL",
- "texts": {
-
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/pt-BR.json b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/pt-BR.json
deleted file mode 100644
index 6d746df0..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/pt-BR.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "culture": "pt-BR",
- "texts": {
-
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/sl.json b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/sl.json
deleted file mode 100644
index 687d4257..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/sl.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "culture": "sl",
- "texts": {
- "ManageYourProfile": "Upravljajte svojim profilom"
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/tr.json b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/tr.json
deleted file mode 100644
index f1022a2a..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/tr.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "culture": "tr",
- "texts": {
- "ManageYourProfile": "Profil yönetimi",
- "SamplePageMessage": "QueryManagement modulünden örnek bir sayfa"
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/vi.json b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/vi.json
deleted file mode 100644
index d8eb5f3c..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/vi.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "culture": "vi",
- "texts": {
-
- }
-}
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/zh-Hans.json b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/zh-Hans.json
deleted file mode 100644
index ec9959d3..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/zh-Hans.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "culture": "zh-Hans",
- "texts": {
- "ManageYourProfile": "管理个人资料",
- "SamplePageMessage": "QueryManagement模块的示例页面",
- "Permission:ESManagement": "ES日志"
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/zh-Hant.json b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/zh-Hant.json
deleted file mode 100644
index ceea0555..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagement/zh-Hant.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "culture": "zh-Hant",
- "texts": {
- "ManageYourProfile": "管理個人資料"
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagementResource.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagementResource.cs
deleted file mode 100644
index 55886c7d..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Localization/QueryManagementResource.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using Volo.Abp.Localization;
-
-namespace CompanyName.ProjectName.QueryManagement.Localization
-{
- [LocalizationResourceName("QueryManagement")]
- public class QueryManagementResource
- {
-
- }
-}
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/QueryManagementDomainSharedModule.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/QueryManagementDomainSharedModule.cs
deleted file mode 100644
index 9688988c..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/QueryManagementDomainSharedModule.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-using Volo.Abp.Modularity;
-using Volo.Abp.Localization;
-using CompanyName.ProjectName.QueryManagement.Localization;
-using Volo.Abp.Localization.ExceptionHandling;
-using Volo.Abp.Validation;
-using Volo.Abp.Validation.Localization;
-using Volo.Abp.VirtualFileSystem;
-
-namespace CompanyName.ProjectName.QueryManagement
-{
- [DependsOn(
- typeof(AbpValidationModule)
- )]
- public class QueryManagementDomainSharedModule : AbpModule
- {
- public override void ConfigureServices(ServiceConfigurationContext context)
- {
- Configure(options =>
- {
- options.FileSets.AddEmbedded();
- });
-
- Configure(options =>
- {
- options.Resources
- .Add("en")
- .AddBaseTypes(typeof(AbpValidationResource))
- .AddVirtualJson("/Localization/QueryManagement");
- });
-
- Configure(options =>
- {
- options.MapCodeNamespace("QueryManagement", typeof(QueryManagementResource));
- });
- }
- }
-}
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/QueryManagementErrorCodes.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/QueryManagementErrorCodes.cs
deleted file mode 100644
index 85bc76fd..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/QueryManagementErrorCodes.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace CompanyName.ProjectName.QueryManagement
-{
- public static class QueryManagementErrorCodes
- {
- //Add your business exception error codes here...
- }
-}
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Systems/Users/AbpUserFreeSqlDto.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Systems/Users/AbpUserFreeSqlDto.cs
deleted file mode 100644
index a7c7d1be..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain.Shared/Systems/Users/AbpUserFreeSqlDto.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-namespace CompanyName.ProjectName.QueryManagement.Systems.Users
-{
- public class AbpUserFreeSqlDto
- {
- public string Id { get; set; }
-
- public string Name { get; set; }
-
- public string UserName { get; set; }
-
- public string Email { get; set; }
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/CompanyName.ProjectName.QueryManagement.Domain.csproj b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/CompanyName.ProjectName.QueryManagement.Domain.csproj
deleted file mode 100644
index 0b473851..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/CompanyName.ProjectName.QueryManagement.Domain.csproj
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
- net5.0
- CompanyName.ProjectName.QueryManagement
-
-
-
-
-
-
-
-
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/ElasticSearchs/ICompanyNameProjectNameLogRepository.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/ElasticSearchs/ICompanyNameProjectNameLogRepository.cs
deleted file mode 100644
index 371e232e..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/ElasticSearchs/ICompanyNameProjectNameLogRepository.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using System.Threading.Tasks;
-using CompanyName.ProjectName.Extensions.Customs.Dtos;
-using CompanyName.ProjectName.QueryManagement.ElasticSearchs.Dtos;
-using Volo.Abp.DependencyInjection;
-
-namespace CompanyName.ProjectName.QueryManagement.ElasticSearchs
-{
- public interface ICompanyNameProjectNameLogRepository : ITransientDependency
- {
- ///
- /// 分页查询es日志
- ///
- ///
- ///
- Task> PaingAsync(PagingElasticSearchLogInput input);
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/FodyWeavers.xml b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/FodyWeavers.xml
deleted file mode 100644
index be0de3a9..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/FodyWeavers.xsd b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e2..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/QueryManagementDbProperties.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/QueryManagementDbProperties.cs
deleted file mode 100644
index 5440ff37..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/QueryManagementDbProperties.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-namespace CompanyName.ProjectName.QueryManagement
-{
- public static class QueryManagementDbProperties
- {
- public static string DbTablePrefix { get; set; } = "QueryManagement";
-
- public static string DbSchema { get; set; } = null;
-
- public const string ConnectionStringName = "Default";
-
- }
-}
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/QueryManagementDomainModule.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/QueryManagementDomainModule.cs
deleted file mode 100644
index d177d44c..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/QueryManagementDomainModule.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using Volo.Abp.Domain;
-using Volo.Abp.Modularity;
-
-namespace CompanyName.ProjectName.QueryManagement
-{
- [DependsOn(
- typeof(AbpDddDomainModule),
- typeof(QueryManagementDomainSharedModule)
- )]
- public class QueryManagementDomainModule : AbpModule
- {
-
- }
-}
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/Settings/QueryManagementSettingDefinitionProvider.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/Settings/QueryManagementSettingDefinitionProvider.cs
deleted file mode 100644
index 86e7645d..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/Settings/QueryManagementSettingDefinitionProvider.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using Volo.Abp.Settings;
-
-namespace CompanyName.ProjectName.QueryManagement.Settings
-{
- public class QueryManagementSettingDefinitionProvider : SettingDefinitionProvider
- {
- public override void Define(ISettingDefinitionContext context)
- {
- /* Define module settings here.
- * Use names from QueryManagementSettings class.
- */
- }
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/Settings/QueryManagementSettings.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/Settings/QueryManagementSettings.cs
deleted file mode 100644
index 362d3188..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/Settings/QueryManagementSettings.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-namespace CompanyName.ProjectName.QueryManagement.Settings
-{
- public static class QueryManagementSettings
- {
- public const string GroupName = "QueryManagement";
-
- /* Add constants for setting names. Example:
- * public const string MySettingName = GroupName + ".MySettingName";
- */
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/Systems/Users/IUserFreeSqlRepository.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/Systems/Users/IUserFreeSqlRepository.cs
deleted file mode 100644
index 266e51c6..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.Domain/Systems/Users/IUserFreeSqlRepository.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using System;
-using System.Threading.Tasks;
-
-namespace CompanyName.ProjectName.QueryManagement.Systems.Users
-{
- public interface IUserFreeSqlRepository
- {
- Task GetUserNameByIdAsync(Guid id);
- }
-}
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.ElasticSearch/CompanyName.ProjectName.QueryManagement.ElasticSearch.csproj b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.ElasticSearch/CompanyName.ProjectName.QueryManagement.ElasticSearch.csproj
deleted file mode 100644
index cbeecac4..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.ElasticSearch/CompanyName.ProjectName.QueryManagement.ElasticSearch.csproj
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
- net5.0
-
-
-
-
-
-
-
-
-
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.ElasticSearch/CompanyNameProjectNameLogRepository.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.ElasticSearch/CompanyNameProjectNameLogRepository.cs
deleted file mode 100644
index 12215dc7..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.ElasticSearch/CompanyNameProjectNameLogRepository.cs
+++ /dev/null
@@ -1,60 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
-using CompanyName.ProjectName.Extensions.Customs.Dtos;
-using CompanyName.ProjectName.QueryManagement.ElasticSearchs;
-using CompanyName.ProjectName.QueryManagement.ElasticSearchs.Dtos;
-using Microsoft.Extensions.Configuration;
-using Microsoft.Extensions.Hosting;
-using Nest;
-
-namespace CompanyName.ProjectName.QueryManagement.ElasticSearch
-{
- public class CompanyNameProjectNameLogRepository : ElasticsearchBasicRepository, ICompanyNameProjectNameLogRepository
- {
- private readonly string IndexName = "{0}.{1}*";
- private readonly IConfiguration _configuration;
- private readonly IHostEnvironment _hostEnvironment;
-
- public CompanyNameProjectNameLogRepository(
- IElasticsearchProvider elasticsearchProvider,
- IConfiguration configuration,
- IHostEnvironment hostEnvironment) :
- base(elasticsearchProvider)
- {
- _configuration = configuration;
- _hostEnvironment = hostEnvironment;
- IndexName = string.Format(IndexName, configuration["LogToElasticSearch:ElasticSearch:DashboardIndex"],
- _hostEnvironment.EnvironmentName.ToLower());
- }
-
- public async Task> PaingAsync(PagingElasticSearchLogInput input)
- {
- // 默认查询当天
- input.StartCreationTime = input.StartCreationTime?.AddMilliseconds(-1) ?? DateTime.Now.Date.AddMilliseconds(-1);
- input.EndCreationTime =
- input.EndCreationTime?.AddDays(1).AddMilliseconds(-1) ?? DateTime.Now.Date.AddDays(1).AddMilliseconds(-1);
- var mustFilters = new List, QueryContainer>>
- {
- t => t.DateRange(f =>
- f.Field(fd => fd.CreationTime).TimeZone("Asia/Shanghai").GreaterThanOrEquals(input.StartCreationTime.Value)),
- t => t.DateRange(
- f => f.Field(fd => fd.CreationTime).TimeZone("Asia/Shanghai").LessThanOrEquals(input.EndCreationTime.Value))
- };
-
- if (!string.IsNullOrWhiteSpace(input.Filter))
- {
- mustFilters.Add(t => t.MatchPhrase(f => f.Field(fd => fd.Message).Query(input.Filter.Trim())));
- }
-
- var result = await Client.SearchAsync(e => e.Index(IndexName)
- .From(input.SkipCount)
- .Size(input.PageSize)
- .Sort(s => s.Descending(sd => sd.CreationTime))
- .Query(q => q.Bool(qb => qb.Filter(mustFilters))));
-
- return new CustomePagedResultDto(result.HitsMetadata.Total.Value, result.Documents.ToList());
- }
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.ElasticSearch/QueryManagementElasticsearchModule.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.ElasticSearch/QueryManagementElasticsearchModule.cs
deleted file mode 100644
index f4b0216f..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.ElasticSearch/QueryManagementElasticsearchModule.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using Volo.Abp.Autofac;
-using Volo.Abp.Domain;
-using Volo.Abp.Modularity;
-
-namespace CompanyName.ProjectName.QueryManagement.ElasticSearch
-{
- [DependsOn(typeof(AbpAutofacModule))]
- [DependsOn(typeof(AbpDddDomainModule))]
- public class QueryManagementElasticsearchModule : AbpModule
- {
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.csproj b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.csproj
deleted file mode 100644
index 0eef1dc7..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.csproj
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
- net5.0
- CompanyName.ProjectName.QueryManagement
-
-
-
-
-
-
-
-
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/EntityFrameworkCore/IQueryManagementDbContext.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/EntityFrameworkCore/IQueryManagementDbContext.cs
deleted file mode 100644
index d32ec42f..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/EntityFrameworkCore/IQueryManagementDbContext.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using Volo.Abp.Data;
-using Volo.Abp.EntityFrameworkCore;
-
-namespace CompanyName.ProjectName.QueryManagement.EntityFrameworkCore
-{
- [ConnectionStringName(QueryManagementDbProperties.ConnectionStringName)]
- public interface IQueryManagementDbContext : IEfCoreDbContext
- {
- /* Add DbSet for each Aggregate Root here. Example:
- * DbSet Questions { get; }
- */
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/EntityFrameworkCore/QueryManagementDbContext.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/EntityFrameworkCore/QueryManagementDbContext.cs
deleted file mode 100644
index 76b38c14..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/EntityFrameworkCore/QueryManagementDbContext.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using Microsoft.EntityFrameworkCore;
-using Volo.Abp.Data;
-using Volo.Abp.EntityFrameworkCore;
-
-namespace CompanyName.ProjectName.QueryManagement.EntityFrameworkCore
-{
- [ConnectionStringName(QueryManagementDbProperties.ConnectionStringName)]
- public class QueryManagementDbContext : AbpDbContext, IQueryManagementDbContext
- {
- /* Add DbSet for each Aggregate Root here. Example:
- * public DbSet Questions { get; set; }
- */
-
- public QueryManagementDbContext(DbContextOptions options)
- : base(options)
- {
-
- }
-
- protected override void OnModelCreating(ModelBuilder builder)
- {
- base.OnModelCreating(builder);
-
- builder.ConfigureQueryManagement();
- }
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/EntityFrameworkCore/QueryManagementDbContextModelCreatingExtensions.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/EntityFrameworkCore/QueryManagementDbContextModelCreatingExtensions.cs
deleted file mode 100644
index 542e35f2..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/EntityFrameworkCore/QueryManagementDbContextModelCreatingExtensions.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-using System;
-using Microsoft.EntityFrameworkCore;
-using Volo.Abp;
-
-namespace CompanyName.ProjectName.QueryManagement.EntityFrameworkCore
-{
- public static class QueryManagementDbContextModelCreatingExtensions
- {
- public static void ConfigureQueryManagement(
- this ModelBuilder builder,
- Action optionsAction = null)
- {
- Check.NotNull(builder, nameof(builder));
-
- var options = new QueryManagementModelBuilderConfigurationOptions(
- QueryManagementDbProperties.DbTablePrefix,
- QueryManagementDbProperties.DbSchema
- );
-
- optionsAction?.Invoke(options);
-
- /* Configure all entities here. Example:
-
- builder.Entity(b =>
- {
- //Configure table & schema name
- b.ToTable(options.TablePrefix + "Questions", options.Schema);
-
- b.ConfigureByConvention();
-
- //Properties
- b.Property(q => q.Title).IsRequired().HasMaxLength(QuestionConsts.MaxTitleLength);
-
- //Relations
- b.HasMany(question => question.Tags).WithOne().HasForeignKey(qt => qt.QuestionId);
-
- //Indexes
- b.HasIndex(q => q.CreationTime);
- });
- */
- }
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/EntityFrameworkCore/QueryManagementEntityFrameworkCoreModule.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/EntityFrameworkCore/QueryManagementEntityFrameworkCoreModule.cs
deleted file mode 100644
index 8a938512..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/EntityFrameworkCore/QueryManagementEntityFrameworkCoreModule.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using Microsoft.Extensions.DependencyInjection;
-using Volo.Abp.EntityFrameworkCore;
-using Volo.Abp.Modularity;
-
-namespace CompanyName.ProjectName.QueryManagement.EntityFrameworkCore
-{
- [DependsOn(
- typeof(QueryManagementDomainModule),
- typeof(AbpEntityFrameworkCoreModule)
- )]
- public class QueryManagementEntityFrameworkCoreModule : AbpModule
- {
- public override void ConfigureServices(ServiceConfigurationContext context)
- {
- context.Services.AddAbpDbContext(options =>
- {
- /* Add custom repositories here. Example:
- * options.AddRepository();
- */
- });
- }
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/EntityFrameworkCore/QueryManagementModelBuilderConfigurationOptions.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/EntityFrameworkCore/QueryManagementModelBuilderConfigurationOptions.cs
deleted file mode 100644
index ea2654bb..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/EntityFrameworkCore/QueryManagementModelBuilderConfigurationOptions.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using JetBrains.Annotations;
-using Volo.Abp.EntityFrameworkCore.Modeling;
-
-namespace CompanyName.ProjectName.QueryManagement.EntityFrameworkCore
-{
- public class QueryManagementModelBuilderConfigurationOptions : AbpModelBuilderConfigurationOptions
- {
- public QueryManagementModelBuilderConfigurationOptions(
- [NotNull] string tablePrefix = "",
- [CanBeNull] string schema = null)
- : base(
- tablePrefix,
- schema)
- {
-
- }
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/FodyWeavers.xml b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/FodyWeavers.xml
deleted file mode 100644
index be0de3a9..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/FodyWeavers.xsd b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e2..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.FreeSqlMySql/CompanyName.ProjectName.QueryManagement.FreeSqlMySql.csproj b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.FreeSqlMySql/CompanyName.ProjectName.QueryManagement.FreeSqlMySql.csproj
deleted file mode 100644
index 97f2cb88..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.FreeSqlMySql/CompanyName.ProjectName.QueryManagement.FreeSqlMySql.csproj
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
- net5.0
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.FreeSqlMySql/Systems/Users/UserFreeSqlRepository.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.FreeSqlMySql/Systems/Users/UserFreeSqlRepository.cs
deleted file mode 100644
index f504cfe1..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.FreeSqlMySql/Systems/Users/UserFreeSqlRepository.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Threading.Tasks;
-using CompanyName.ProjectName.QueryManagement.Systems.Users;
-
-namespace CompanyName.ProjectName.QueryManagement.FreeSqlMySql.Systems.Users
-{
- public class UserFreeSqlRepository : FreeSqlBasicRepository, IUserFreeSqlRepository
- {
- ///
- /// 根据用户id获取用户名称
- /// 测试
- ///
- ///
- ///
- public async Task GetUserNameByIdAsync(Guid id)
- {
-
- var sql = $"select a.Id,a.Name,a.UserName,a.Email from AbpUsers a where a.Id=?id";
- var se= await FreeSql.Select()
- .WithSql(sql,new {id})
- .ToListAsync();
- return null;
- }
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi.Client/CompanyName.ProjectName.QueryManagement.HttpApi.Client.csproj b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi.Client/CompanyName.ProjectName.QueryManagement.HttpApi.Client.csproj
deleted file mode 100644
index 76a3c7ac..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi.Client/CompanyName.ProjectName.QueryManagement.HttpApi.Client.csproj
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
- net5.0
- CompanyName.ProjectName.QueryManagement
-
-
-
-
-
-
-
-
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi.Client/FodyWeavers.xml b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi.Client/FodyWeavers.xml
deleted file mode 100644
index be0de3a9..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi.Client/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi.Client/FodyWeavers.xsd b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi.Client/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e2..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi.Client/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi.Client/QueryManagementHttpApiClientModule.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi.Client/QueryManagementHttpApiClientModule.cs
deleted file mode 100644
index 1b69504b..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi.Client/QueryManagementHttpApiClientModule.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using Microsoft.Extensions.DependencyInjection;
-using Volo.Abp.Http.Client;
-using Volo.Abp.Modularity;
-
-namespace CompanyName.ProjectName.QueryManagement
-{
- [DependsOn(
- typeof(QueryManagementApplicationContractsModule),
- typeof(AbpHttpClientModule))]
- public class QueryManagementHttpApiClientModule : AbpModule
- {
- public const string RemoteServiceName = "QueryManagement";
-
- public override void ConfigureServices(ServiceConfigurationContext context)
- {
- context.Services.AddHttpClientProxies(
- typeof(QueryManagementApplicationContractsModule).Assembly,
- RemoteServiceName
- );
- }
- }
-}
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi/CompanyName.ProjectName.QueryManagement.HttpApi.csproj b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi/CompanyName.ProjectName.QueryManagement.HttpApi.csproj
deleted file mode 100644
index ca59986f..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi/CompanyName.ProjectName.QueryManagement.HttpApi.csproj
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
- net5.0
- CompanyName.ProjectName.QueryManagement
-
-
-
-
-
-
-
-
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi/ElasticSearchs/ElasticSearchController.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi/ElasticSearchs/ElasticSearchController.cs
deleted file mode 100644
index 619a36f7..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi/ElasticSearchs/ElasticSearchController.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-using System.Threading.Tasks;
-using CompanyName.ProjectName.Extensions.Customs.Dtos;
-using CompanyName.ProjectName.QueryManagement.ElasticSearchs.Dtos;
-using CompanyName.ProjectName.QueryManagement.Permissions;
-using Microsoft.AspNetCore.Authorization;
-using Microsoft.AspNetCore.Mvc;
-using Volo.Abp.Application.Services;
-using Volo.Abp.Identity;
-
-namespace CompanyName.ProjectName.QueryManagement.ElasticSearchs
-{
- [Route("api/QueryManagement/ElasticSearch")]
- [Authorize(Policy = IdentityPermissions.Users.Default)]
- public class ElasticSearchController : QueryManagementController, IApplicationService
- {
- private readonly ILogAppService _logAppService;
-
- public ElasticSearchController(ILogAppService logAppService)
- {
- _logAppService = logAppService;
- }
-
- [HttpPost("paging")]
- [Authorize(Policy = QueryManagementPermissions.SystemManagement.ES)]
- public Task> PaingLogAsync(PagingElasticSearchLogInput input)
- {
- return _logAppService.PaingLogAsync(input);
- }
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi/FodyWeavers.xml b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi/FodyWeavers.xml
deleted file mode 100644
index be0de3a9..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi/FodyWeavers.xsd b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e2..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi/QueryManagementController.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi/QueryManagementController.cs
deleted file mode 100644
index 8f447fc9..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi/QueryManagementController.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using CompanyName.ProjectName.QueryManagement.Localization;
-using Volo.Abp.AspNetCore.Mvc;
-
-namespace CompanyName.ProjectName.QueryManagement
-{
- public abstract class QueryManagementController : AbpController
- {
- protected QueryManagementController()
- {
- LocalizationResource = typeof(QueryManagementResource);
- }
- }
-}
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi/QueryManagementHttpApiModule.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi/QueryManagementHttpApiModule.cs
deleted file mode 100644
index b3056a47..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.HttpApi/QueryManagementHttpApiModule.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-using Localization.Resources.AbpUi;
-using CompanyName.ProjectName.QueryManagement.Localization;
-using Volo.Abp.AspNetCore.Mvc;
-using Volo.Abp.Localization;
-using Volo.Abp.Modularity;
-using Microsoft.Extensions.DependencyInjection;
-
-namespace CompanyName.ProjectName.QueryManagement
-{
- [DependsOn(
- typeof(QueryManagementApplicationContractsModule),
- typeof(AbpAspNetCoreMvcModule))]
- public class QueryManagementHttpApiModule : AbpModule
- {
- public override void PreConfigureServices(ServiceConfigurationContext context)
- {
- PreConfigure(mvcBuilder =>
- {
- mvcBuilder.AddApplicationPartIfNotExists(typeof(QueryManagementHttpApiModule).Assembly);
- });
- }
-
- public override void ConfigureServices(ServiceConfigurationContext context)
- {
- Configure(options =>
- {
- options.Resources
- .Get()
- .AddBaseTypes(typeof(AbpUiResource));
- });
- }
- }
-}
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/CompanyName.ProjectName.QueryManagement.MongoDB.csproj b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/CompanyName.ProjectName.QueryManagement.MongoDB.csproj
deleted file mode 100644
index 622a609a..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/CompanyName.ProjectName.QueryManagement.MongoDB.csproj
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
- net5.0
- CompanyName.ProjectName.QueryManagement
-
-
-
-
-
-
-
-
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/FodyWeavers.xml b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/FodyWeavers.xml
deleted file mode 100644
index be0de3a9..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/FodyWeavers.xsd b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e2..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/MongoDB/IQueryManagementMongoDbContext.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/MongoDB/IQueryManagementMongoDbContext.cs
deleted file mode 100644
index 3f8c93ab..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/MongoDB/IQueryManagementMongoDbContext.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using Volo.Abp.Data;
-using Volo.Abp.MongoDB;
-
-namespace CompanyName.ProjectName.QueryManagement.MongoDB
-{
- [ConnectionStringName(QueryManagementDbProperties.ConnectionStringName)]
- public interface IQueryManagementMongoDbContext : IAbpMongoDbContext
- {
- /* Define mongo collections here. Example:
- * IMongoCollection Questions { get; }
- */
- }
-}
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/MongoDB/QueryManagementMongoDbContext.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/MongoDB/QueryManagementMongoDbContext.cs
deleted file mode 100644
index b625ea01..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/MongoDB/QueryManagementMongoDbContext.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using Volo.Abp.Data;
-using Volo.Abp.MongoDB;
-
-namespace CompanyName.ProjectName.QueryManagement.MongoDB
-{
- [ConnectionStringName(QueryManagementDbProperties.ConnectionStringName)]
- public class QueryManagementMongoDbContext : AbpMongoDbContext, IQueryManagementMongoDbContext
- {
- /* Add mongo collections here. Example:
- * public IMongoCollection Questions => Collection();
- */
-
- protected override void CreateModel(IMongoModelBuilder modelBuilder)
- {
- base.CreateModel(modelBuilder);
-
- modelBuilder.ConfigureQueryManagement();
- }
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/MongoDB/QueryManagementMongoDbContextExtensions.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/MongoDB/QueryManagementMongoDbContextExtensions.cs
deleted file mode 100644
index f9f6caa0..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/MongoDB/QueryManagementMongoDbContextExtensions.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System;
-using Volo.Abp;
-using Volo.Abp.MongoDB;
-
-namespace CompanyName.ProjectName.QueryManagement.MongoDB
-{
- public static class QueryManagementMongoDbContextExtensions
- {
- public static void ConfigureQueryManagement(
- this IMongoModelBuilder builder,
- Action optionsAction = null)
- {
- Check.NotNull(builder, nameof(builder));
-
- var options = new QueryManagementMongoModelBuilderConfigurationOptions(
- QueryManagementDbProperties.DbTablePrefix
- );
-
- optionsAction?.Invoke(options);
- }
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/MongoDB/QueryManagementMongoDbModule.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/MongoDB/QueryManagementMongoDbModule.cs
deleted file mode 100644
index f2e292f6..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/MongoDB/QueryManagementMongoDbModule.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using Microsoft.Extensions.DependencyInjection;
-using Volo.Abp.Modularity;
-using Volo.Abp.MongoDB;
-
-namespace CompanyName.ProjectName.QueryManagement.MongoDB
-{
- [DependsOn(
- typeof(QueryManagementDomainModule),
- typeof(AbpMongoDbModule)
- )]
- public class QueryManagementMongoDbModule : AbpModule
- {
- public override void ConfigureServices(ServiceConfigurationContext context)
- {
- context.Services.AddMongoDbContext(options =>
- {
- /* Add custom repositories here. Example:
- * options.AddRepository();
- */
- });
- }
- }
-}
diff --git a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/MongoDB/QueryManagementMongoModelBuilderConfigurationOptions.cs b/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/MongoDB/QueryManagementMongoModelBuilderConfigurationOptions.cs
deleted file mode 100644
index 237df983..00000000
--- a/aspnet-core/modules/QueryManagement/src/CompanyName.ProjectName.QueryManagement.MongoDB/MongoDB/QueryManagementMongoModelBuilderConfigurationOptions.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using JetBrains.Annotations;
-using Volo.Abp.MongoDB;
-
-namespace CompanyName.ProjectName.QueryManagement.MongoDB
-{
- public class QueryManagementMongoModelBuilderConfigurationOptions : AbpMongoModelBuilderConfigurationOptions
- {
- public QueryManagementMongoModelBuilderConfigurationOptions(
- [NotNull] string collectionPrefix = "")
- : base(collectionPrefix)
- {
- }
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Application.Tests/CompanyName.ProjectName.QueryManagement.Application.Tests.csproj b/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Application.Tests/CompanyName.ProjectName.QueryManagement.Application.Tests.csproj
deleted file mode 100644
index cfcdeaa9..00000000
--- a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Application.Tests/CompanyName.ProjectName.QueryManagement.Application.Tests.csproj
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- net5.0
- CompanyName.ProjectName.QueryManagement
-
-
-
-
-
-
-
-
-
diff --git a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Application.Tests/FodyWeavers.xml b/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Application.Tests/FodyWeavers.xml
deleted file mode 100644
index be0de3a9..00000000
--- a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Application.Tests/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Application.Tests/FodyWeavers.xsd b/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Application.Tests/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e2..00000000
--- a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Application.Tests/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Application.Tests/QueryManagementApplicationTestBase.cs b/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Application.Tests/QueryManagementApplicationTestBase.cs
deleted file mode 100644
index bda40192..00000000
--- a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Application.Tests/QueryManagementApplicationTestBase.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace CompanyName.ProjectName.QueryManagement
-{
- /* Inherit from this class for your application layer tests.
- * See SampleAppService_Tests for example.
- */
- public abstract class QueryManagementApplicationTestBase : QueryManagementTestBase
- {
-
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Application.Tests/QueryManagementApplicationTestModule.cs b/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Application.Tests/QueryManagementApplicationTestModule.cs
deleted file mode 100644
index 07913ed9..00000000
--- a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Application.Tests/QueryManagementApplicationTestModule.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using Volo.Abp.Modularity;
-
-namespace CompanyName.ProjectName.QueryManagement
-{
- [DependsOn(
- typeof(QueryManagementApplicationModule),
- typeof(QueryManagementDomainTestModule)
- )]
- public class QueryManagementApplicationTestModule : AbpModule
- {
-
- }
-}
diff --git a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Domain.Tests/CompanyName.ProjectName.QueryManagement.Domain.Tests.csproj b/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Domain.Tests/CompanyName.ProjectName.QueryManagement.Domain.Tests.csproj
deleted file mode 100644
index 82e325d8..00000000
--- a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Domain.Tests/CompanyName.ProjectName.QueryManagement.Domain.Tests.csproj
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
- net5.0
- CompanyName.ProjectName.QueryManagement
-
-
-
-
-
-
-
-
diff --git a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Domain.Tests/FodyWeavers.xml b/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Domain.Tests/FodyWeavers.xml
deleted file mode 100644
index be0de3a9..00000000
--- a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Domain.Tests/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Domain.Tests/FodyWeavers.xsd b/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Domain.Tests/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e2..00000000
--- a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Domain.Tests/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
-
-
-
-
- A comma-separated list of error codes that can be safely ignored in assembly verification.
-
-
-
-
- 'false' to turn off automatic generation of the XML Schema file.
-
-
-
-
-
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Domain.Tests/QueryManagementDomainTestBase.cs b/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Domain.Tests/QueryManagementDomainTestBase.cs
deleted file mode 100644
index 601377cc..00000000
--- a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Domain.Tests/QueryManagementDomainTestBase.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace CompanyName.ProjectName.QueryManagement
-{
- /* Inherit from this class for your domain layer tests.
- * See SampleManager_Tests for example.
- */
- public abstract class QueryManagementDomainTestBase : QueryManagementTestBase
- {
-
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Domain.Tests/QueryManagementDomainTestModule.cs b/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Domain.Tests/QueryManagementDomainTestModule.cs
deleted file mode 100644
index 3e0eb217..00000000
--- a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Domain.Tests/QueryManagementDomainTestModule.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using CompanyName.ProjectName.QueryManagement.EntityFrameworkCore;
-using Volo.Abp.Modularity;
-
-namespace CompanyName.ProjectName.QueryManagement
-{
- /* Domain tests are configured to use the EF Core provider.
- * You can switch to MongoDB, however your domain tests should be
- * database independent anyway.
- */
- [DependsOn(
- typeof(QueryManagementEntityFrameworkCoreTestModule)
- )]
- public class QueryManagementDomainTestModule : AbpModule
- {
-
- }
-}
diff --git a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Domain.Tests/Samples/SampleManager_Tests.cs b/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Domain.Tests/Samples/SampleManager_Tests.cs
deleted file mode 100644
index 23ec84e9..00000000
--- a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.Domain.Tests/Samples/SampleManager_Tests.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System.Threading.Tasks;
-using Xunit;
-
-namespace CompanyName.ProjectName.QueryManagement.Samples
-{
- public class SampleManager_Tests : QueryManagementDomainTestBase
- {
- //private readonly SampleManager _sampleManager;
-
- public SampleManager_Tests()
- {
- //_sampleManager = GetRequiredService();
- }
- }
-}
diff --git a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests.csproj b/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests.csproj
deleted file mode 100644
index 40481863..00000000
--- a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests.csproj
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
- net5.0
- CompanyName.ProjectName.QueryManagement
-
-
-
-
-
-
-
-
-
-
-
diff --git a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests/EntityFrameworkCore/QueryManagementEntityFrameworkCoreTestBase.cs b/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests/EntityFrameworkCore/QueryManagementEntityFrameworkCoreTestBase.cs
deleted file mode 100644
index 17266735..00000000
--- a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests/EntityFrameworkCore/QueryManagementEntityFrameworkCoreTestBase.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace CompanyName.ProjectName.QueryManagement.EntityFrameworkCore
-{
- /* This class can be used as a base class for EF Core integration tests,
- * while SampleRepository_Tests uses a different approach.
- */
- public abstract class QueryManagementEntityFrameworkCoreTestBase : QueryManagementTestBase
- {
-
- }
-}
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests/EntityFrameworkCore/QueryManagementEntityFrameworkCoreTestModule.cs b/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests/EntityFrameworkCore/QueryManagementEntityFrameworkCoreTestModule.cs
deleted file mode 100644
index 895ee92b..00000000
--- a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests/EntityFrameworkCore/QueryManagementEntityFrameworkCoreTestModule.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-using Microsoft.Data.Sqlite;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Infrastructure;
-using Microsoft.EntityFrameworkCore.Storage;
-using Volo.Abp.EntityFrameworkCore;
-using Volo.Abp.EntityFrameworkCore.Sqlite;
-using Volo.Abp.Modularity;
-
-namespace CompanyName.ProjectName.QueryManagement.EntityFrameworkCore
-{
- [DependsOn(
- typeof(QueryManagementTestBaseModule),
- typeof(QueryManagementEntityFrameworkCoreModule),
- typeof(AbpEntityFrameworkCoreSqliteModule)
- )]
- public class QueryManagementEntityFrameworkCoreTestModule : AbpModule
- {
- public override void ConfigureServices(ServiceConfigurationContext context)
- {
- var sqliteConnection = CreateDatabaseAndGetConnection();
-
- Configure(options =>
- {
- options.Configure(abpDbContextConfigurationContext =>
- {
- abpDbContextConfigurationContext.DbContextOptions.UseSqlite(sqliteConnection);
- });
- });
- }
-
- private static SqliteConnection CreateDatabaseAndGetConnection()
- {
- var connection = new SqliteConnection("Data Source=:memory:");
- connection.Open();
-
- new QueryManagementDbContext(
- new DbContextOptionsBuilder().UseSqlite(connection).Options
- ).GetService().CreateTables();
-
- return connection;
- }
- }
-}
diff --git a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests/EntityFrameworkCore/Samples/SampleRepository_Tests.cs b/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests/EntityFrameworkCore/Samples/SampleRepository_Tests.cs
deleted file mode 100644
index 9ea54f10..00000000
--- a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests/EntityFrameworkCore/Samples/SampleRepository_Tests.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using CompanyName.ProjectName.QueryManagement.Samples;
-
-namespace CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Samples
-{
- public class SampleRepository_Tests : SampleRepository_Tests
- {
- /* Don't write custom repository tests here, instead write to
- * the base class.
- * One exception can be some specific tests related to EF core.
- */
- }
-}
diff --git a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests/FodyWeavers.xml b/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests/FodyWeavers.xml
deleted file mode 100644
index be0de3a9..00000000
--- a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests/FodyWeavers.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests/FodyWeavers.xsd b/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests/FodyWeavers.xsd
deleted file mode 100644
index 3f3946e2..00000000
--- a/aspnet-core/modules/QueryManagement/test/CompanyName.ProjectName.QueryManagement.EntityFrameworkCore.Tests/FodyWeavers.xsd
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-