diff --git a/src/AbpDesk/Web_PlugIns/AbpDesk.MongoBlog.dll b/src/AbpDesk/Web_PlugIns/AbpDesk.MongoBlog.dll index 7442ac42dd..dcbd402efd 100644 Binary files a/src/AbpDesk/Web_PlugIns/AbpDesk.MongoBlog.dll and b/src/AbpDesk/Web_PlugIns/AbpDesk.MongoBlog.dll differ diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Uow/AmbientUnitOfWork.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/AmbientUnitOfWork.cs similarity index 100% rename from src/Volo.Abp.Ddd/Volo/Abp/Uow/AmbientUnitOfWork.cs rename to src/Volo.Abp.Data/Volo/Abp/Uow/AmbientUnitOfWork.cs diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Uow/ChildUnitOfWork.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/ChildUnitOfWork.cs similarity index 100% rename from src/Volo.Abp.Ddd/Volo/Abp/Uow/ChildUnitOfWork.cs rename to src/Volo.Abp.Data/Volo/Abp/Uow/ChildUnitOfWork.cs diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Uow/IAmbientUnitOfWork.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/IAmbientUnitOfWork.cs similarity index 100% rename from src/Volo.Abp.Ddd/Volo/Abp/Uow/IAmbientUnitOfWork.cs rename to src/Volo.Abp.Data/Volo/Abp/Uow/IAmbientUnitOfWork.cs diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Uow/IDatabaseApi.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/IDatabaseApi.cs similarity index 100% rename from src/Volo.Abp.Ddd/Volo/Abp/Uow/IDatabaseApi.cs rename to src/Volo.Abp.Data/Volo/Abp/Uow/IDatabaseApi.cs diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Uow/IDatabaseApiContainer.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/IDatabaseApiContainer.cs similarity index 100% rename from src/Volo.Abp.Ddd/Volo/Abp/Uow/IDatabaseApiContainer.cs rename to src/Volo.Abp.Data/Volo/Abp/Uow/IDatabaseApiContainer.cs diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Uow/ISupportsRollback.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/ISupportsRollback.cs similarity index 100% rename from src/Volo.Abp.Ddd/Volo/Abp/Uow/ISupportsRollback.cs rename to src/Volo.Abp.Data/Volo/Abp/Uow/ISupportsRollback.cs diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Uow/ISupportsSavingChanges.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/ISupportsSavingChanges.cs similarity index 100% rename from src/Volo.Abp.Ddd/Volo/Abp/Uow/ISupportsSavingChanges.cs rename to src/Volo.Abp.Data/Volo/Abp/Uow/ISupportsSavingChanges.cs diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Uow/ITransactionApi.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/ITransactionApi.cs similarity index 100% rename from src/Volo.Abp.Ddd/Volo/Abp/Uow/ITransactionApi.cs rename to src/Volo.Abp.Data/Volo/Abp/Uow/ITransactionApi.cs diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Uow/ITransactionApiContainer.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/ITransactionApiContainer.cs similarity index 100% rename from src/Volo.Abp.Ddd/Volo/Abp/Uow/ITransactionApiContainer.cs rename to src/Volo.Abp.Data/Volo/Abp/Uow/ITransactionApiContainer.cs diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Uow/IUnitOfWork.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/IUnitOfWork.cs similarity index 100% rename from src/Volo.Abp.Ddd/Volo/Abp/Uow/IUnitOfWork.cs rename to src/Volo.Abp.Data/Volo/Abp/Uow/IUnitOfWork.cs diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Uow/IUnitOfWorkAccessor.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/IUnitOfWorkAccessor.cs similarity index 100% rename from src/Volo.Abp.Ddd/Volo/Abp/Uow/IUnitOfWorkAccessor.cs rename to src/Volo.Abp.Data/Volo/Abp/Uow/IUnitOfWorkAccessor.cs diff --git a/src/Volo.Abp.Data/Volo/Abp/Uow/IUnitOfWorkEnabled.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/IUnitOfWorkEnabled.cs new file mode 100644 index 0000000000..498ca43c67 --- /dev/null +++ b/src/Volo.Abp.Data/Volo/Abp/Uow/IUnitOfWorkEnabled.cs @@ -0,0 +1,6 @@ +namespace Volo.Abp.Uow +{ + public interface IUnitOfWorkEnabled + { + } +} diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Uow/IUnitOfWorkManager.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/IUnitOfWorkManager.cs similarity index 100% rename from src/Volo.Abp.Ddd/Volo/Abp/Uow/IUnitOfWorkManager.cs rename to src/Volo.Abp.Data/Volo/Abp/Uow/IUnitOfWorkManager.cs diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Uow/IUnitOfWorkOptions.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/IUnitOfWorkOptions.cs similarity index 100% rename from src/Volo.Abp.Ddd/Volo/Abp/Uow/IUnitOfWorkOptions.cs rename to src/Volo.Abp.Data/Volo/Abp/Uow/IUnitOfWorkOptions.cs diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWork.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWork.cs similarity index 100% rename from src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWork.cs rename to src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWork.cs diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWorkAttribute.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWorkAttribute.cs similarity index 100% rename from src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWorkAttribute.cs rename to src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWorkAttribute.cs diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWorkDefaultOptions.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWorkDefaultOptions.cs similarity index 100% rename from src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWorkDefaultOptions.cs rename to src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWorkDefaultOptions.cs diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWorkEventArgs.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWorkEventArgs.cs similarity index 100% rename from src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWorkEventArgs.cs rename to src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWorkEventArgs.cs diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWorkExtensions.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWorkExtensions.cs similarity index 100% rename from src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWorkExtensions.cs rename to src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWorkExtensions.cs diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWorkFailedEventArgs.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWorkFailedEventArgs.cs similarity index 100% rename from src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWorkFailedEventArgs.cs rename to src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWorkFailedEventArgs.cs diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWorkHelper.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWorkHelper.cs similarity index 83% rename from src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWorkHelper.cs rename to src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWorkHelper.cs index 3d43dbb88e..bf6213394d 100644 --- a/src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWorkHelper.cs +++ b/src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWorkHelper.cs @@ -1,8 +1,6 @@ using System.Linq; using System.Reflection; using JetBrains.Annotations; -using Volo.Abp.Application.Services; -using Volo.Abp.Domain.Repositories; namespace Volo.Abp.Uow { @@ -17,8 +15,7 @@ namespace Volo.Abp.Uow } //Conventional classes - if (typeof(IApplicationService).GetTypeInfo().IsAssignableFrom(implementationType) || - typeof(IRepository).GetTypeInfo().IsAssignableFrom(implementationType)) + if (typeof(IUnitOfWorkEnabled).GetTypeInfo().IsAssignableFrom(implementationType)) { return true; } @@ -48,9 +45,8 @@ namespace Volo.Abp.Uow return !unitOfWorkAttribute.IsDisabled; } - //Conventional classes //TODO: Make this extendible to add new conventions! - if (typeof(IApplicationService).GetTypeInfo().IsAssignableFrom(methodInfo.DeclaringType) || - typeof(IRepository).GetTypeInfo().IsAssignableFrom(methodInfo.DeclaringType)) + //Conventional classes + if (typeof(IUnitOfWorkEnabled).GetTypeInfo().IsAssignableFrom(methodInfo.DeclaringType)) { unitOfWorkAttribute = null; return true; @@ -77,8 +73,7 @@ namespace Volo.Abp.Uow return null; } - - + private static bool AnyMethodHasUnitOfWorkAttribute(TypeInfo implementationType) { return implementationType diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWorkInterceptor.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWorkInterceptor.cs similarity index 100% rename from src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWorkInterceptor.cs rename to src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWorkInterceptor.cs diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWorkInterceptorRegistrar.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWorkInterceptorRegistrar.cs similarity index 100% rename from src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWorkInterceptorRegistrar.cs rename to src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWorkInterceptorRegistrar.cs diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWorkManager.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWorkManager.cs similarity index 100% rename from src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWorkManager.cs rename to src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWorkManager.cs diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWorkManagerExtensions.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWorkManagerExtensions.cs similarity index 100% rename from src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWorkManagerExtensions.cs rename to src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWorkManagerExtensions.cs diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWorkOptions.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWorkOptions.cs similarity index 100% rename from src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWorkOptions.cs rename to src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWorkOptions.cs diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWorkTransactionBehavior.cs b/src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWorkTransactionBehavior.cs similarity index 100% rename from src/Volo.Abp.Ddd/Volo/Abp/Uow/UnitOfWorkTransactionBehavior.cs rename to src/Volo.Abp.Data/Volo/Abp/Uow/UnitOfWorkTransactionBehavior.cs diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Application/Services/IApplicationService.cs b/src/Volo.Abp.Ddd/Volo/Abp/Application/Services/IApplicationService.cs index 6abfeed78e..7579d89157 100644 --- a/src/Volo.Abp.Ddd/Volo/Abp/Application/Services/IApplicationService.cs +++ b/src/Volo.Abp.Ddd/Volo/Abp/Application/Services/IApplicationService.cs @@ -1,11 +1,12 @@ using Volo.Abp.DependencyInjection; +using Volo.Abp.Uow; namespace Volo.Abp.Application.Services { /// /// This interface must be implemented by all application services to register and identify them by convention. /// - public interface IApplicationService : ITransientDependency, IRemoteService + public interface IApplicationService : ITransientDependency, IRemoteService, IUnitOfWorkEnabled { } diff --git a/src/Volo.Abp.Ddd/Volo/Abp/Domain/Repositories/IRepository.cs b/src/Volo.Abp.Ddd/Volo/Abp/Domain/Repositories/IRepository.cs index e927334b26..72151436c4 100644 --- a/src/Volo.Abp.Ddd/Volo/Abp/Domain/Repositories/IRepository.cs +++ b/src/Volo.Abp.Ddd/Volo/Abp/Domain/Repositories/IRepository.cs @@ -6,13 +6,14 @@ using System.Threading.Tasks; using JetBrains.Annotations; using Volo.Abp.DependencyInjection; using Volo.Abp.Domain.Entities; +using Volo.Abp.Uow; namespace Volo.Abp.Domain.Repositories { /// /// Just to mark a class as repository. /// - public interface IRepository : ITransientDependency + public interface IRepository : ITransientDependency, IUnitOfWorkEnabled { }