From 69249cfb921b811fa138057ddef13b50f574accb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Sat, 14 Apr 2018 11:52:27 +0300 Subject: [PATCH] Set audit properties for mongodb. --- .../Repositories/MongoDB/MongoDbRepository.cs | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs b/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs index 647081ce04..5571fd71b6 100644 --- a/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs +++ b/src/Volo.Abp.MongoDB/Volo/Abp/Domain/Repositories/MongoDB/MongoDbRepository.cs @@ -6,6 +6,7 @@ using System.Threading; using System.Threading.Tasks; using MongoDB.Driver; using MongoDB.Driver.Linq; +using Volo.Abp.Auditing; using Volo.Abp.Domain.Entities; using Volo.Abp.Domain.Entities.Events; using Volo.Abp.EventBus; @@ -35,6 +36,8 @@ namespace Volo.Abp.Domain.Repositories.MongoDB public IGuidGenerator GuidGenerator { get; set; } + public IAuditPropertySetter AuditPropertySetter { get; set; } + public MongoDbRepository(IMongoDbContextProvider dbContextProvider) { DbContextProvider = dbContextProvider; @@ -174,6 +177,7 @@ namespace Volo.Abp.Domain.Repositories.MongoDB protected virtual void ApplyAbpConceptsForAddedEntity(TEntity entity) { CheckAndSetId(entity); + SetCreationAuditProperties(entity); EntityChangeEventHelper.TriggerEntityCreatedEventOnUowCompleted(entity); EntityChangeEventHelper.TriggerEntityCreatingEvent(entity); TriggerDomainEvents(entity); @@ -181,6 +185,7 @@ namespace Volo.Abp.Domain.Repositories.MongoDB protected virtual void ApplyAbpConceptsForUpdatedEntity(TEntity entity) { + SetModificationAuditProperties(entity); EntityChangeEventHelper.TriggerEntityUpdatedEventOnUowCompleted(entity); EntityChangeEventHelper.TriggerEntityUpdatingEvent(entity); TriggerDomainEvents(entity); @@ -188,6 +193,7 @@ namespace Volo.Abp.Domain.Repositories.MongoDB private void ApplyAbpConceptsForDeletedEntity(TEntity entity) { + SetDeletionAuditProperties(entity); EntityChangeEventHelper.TriggerEntityDeletedEventOnUowCompleted(entity); EntityChangeEventHelper.TriggerEntityDeletingEvent(entity); TriggerDomainEvents(entity); @@ -201,6 +207,21 @@ namespace Volo.Abp.Domain.Repositories.MongoDB } } + protected virtual void SetCreationAuditProperties(TEntity entity) + { + AuditPropertySetter.SetCreationProperties(entity); + } + + protected virtual void SetModificationAuditProperties(TEntity entity) + { + AuditPropertySetter.SetModificationProperties(entity); + } + + protected virtual void SetDeletionAuditProperties(TEntity entity) + { + AuditPropertySetter.SetDeletionProperties(entity); + } + protected virtual void TriggerDomainEvents(object entity) //TODO: TriggerDomainEventsAsync..? { var generatesDomainEventsEntity = entity as IGeneratesDomainEvents;