From fc8919ef6a57ac58cd33242f650647811afb1fcf Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Thu, 18 Apr 2019 13:28:40 +0300 Subject: [PATCH] added ConfigureFullAuditedAggregateRoot --- .../Modeling/AbpEntityTypeBuilderExtensions.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/Modeling/AbpEntityTypeBuilderExtensions.cs b/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/Modeling/AbpEntityTypeBuilderExtensions.cs index dcdcb404e8..7ea94df310 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/Modeling/AbpEntityTypeBuilderExtensions.cs +++ b/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/Modeling/AbpEntityTypeBuilderExtensions.cs @@ -6,6 +6,7 @@ using Newtonsoft.Json; using Volo.Abp.Auditing; using Volo.Abp.Data; using Volo.Abp.Domain.Entities; +using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.MultiTenancy; namespace Volo.Abp.EntityFrameworkCore.Modeling @@ -14,6 +15,7 @@ namespace Volo.Abp.EntityFrameworkCore.Modeling { public static void ConfigureByConvention(this EntityTypeBuilder b) { + b.TryConfigureFullAuditedAggregateRoot(); b.TryConfigureConcurrencyStamp(); b.TryConfigureExtraProperties(); b.TryConfigureMayHaveCreator(); @@ -260,6 +262,22 @@ namespace Volo.Abp.EntityFrameworkCore.Modeling } } + public static void ConfigureFullAuditedAggregateRoot(this EntityTypeBuilder b) + where T : FullAuditedAggregateRoot + { + b.As().TryConfigureFullAuditedAggregateRoot(); + } + + public static void TryConfigureFullAuditedAggregateRoot(this EntityTypeBuilder b) + { + if (b.Metadata.ClrType.IsSubclassOf(typeof(FullAuditedAggregateRoot))) + { + b.As().TryConfigureFullAudited(); + b.As().TryConfigureExtraProperties(); + b.As().TryConfigureConcurrencyStamp(); + } + } + //TODO: Add other interfaces (IAuditedObject...) } }