From b84454e79332541380070a96dee82b280c14973f Mon Sep 17 00:00:00 2001 From: HaikAsatryan Date: Fri, 28 Feb 2025 17:55:38 +0400 Subject: [PATCH] New method added for syncing audit base entities --- src/EFCore.AuditBase/AuditEntityBase.cs | 11 +++++++---- src/EFCore.AuditBase/EFCore.AuditBase.csproj | 4 ++-- .../EFCore.AuditBase.Demo.csproj | 2 +- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/EFCore.AuditBase/AuditEntityBase.cs b/src/EFCore.AuditBase/AuditEntityBase.cs index 873d675..2402fcc 100644 --- a/src/EFCore.AuditBase/AuditEntityBase.cs +++ b/src/EFCore.AuditBase/AuditEntityBase.cs @@ -4,17 +4,13 @@ namespace EFCore.AuditBase; public abstract class AuditEntityBase { - [Required] public DateTime CreatedAt { get; set; } = DateTime.UtcNow; public required long? CreatedByUserId { get; init; } public DateTime? UpdatedAt { get; private set; } public long? UpdatedByUserId { get; private set; } - - [Required] public bool Deleted { get; private set; } - [Required] [ConcurrencyCheck] public int Version { get; private set; } = 1; @@ -32,4 +28,11 @@ public void MarkAsDeleted(long? userId, DateTime? updatedAt = null) UpdatedByUserId = userId; Version++; } + public void SyncAuditBase(AuditEntityBase source) + { + UpdatedAt = source.UpdatedAt; + UpdatedByUserId = source.UpdatedByUserId; + Deleted = source.Deleted; + Version = source.Version; + } } \ No newline at end of file diff --git a/src/EFCore.AuditBase/EFCore.AuditBase.csproj b/src/EFCore.AuditBase/EFCore.AuditBase.csproj index 73433a4..50ac233 100644 --- a/src/EFCore.AuditBase/EFCore.AuditBase.csproj +++ b/src/EFCore.AuditBase/EFCore.AuditBase.csproj @@ -8,13 +8,13 @@ Readme.md Pandatech MIT - 3.0.1 + 3.0.2 Pandatech.EFCore.AuditBase Pandatech EFCore AuditBase Pandatech, library, audit, optimistic lock, tracking, efcore, soft delete, versioning Pandatech.EFCore.AuditBase provides a robust auditing solution for EF Core applications, ensuring traceability and integrity of entity modifications. It seamlessly integrates auditing capabilities into your EF Core entities, enforcing best practices for entity state changes, deletion handling, and versioning to support concurrency control. Ideal for applications requiring a reliable audit trail and compliance with data handling standards. https://github.com/PandaTechAM/be-lib-efcore-audit-base - Nuget updates + New method added for syncing audit base entities diff --git a/test/EFCore.AuditBase.Demo/EFCore.AuditBase.Demo.csproj b/test/EFCore.AuditBase.Demo/EFCore.AuditBase.Demo.csproj index 176b7fc..da5b436 100644 --- a/test/EFCore.AuditBase.Demo/EFCore.AuditBase.Demo.csproj +++ b/test/EFCore.AuditBase.Demo/EFCore.AuditBase.Demo.csproj @@ -9,7 +9,7 @@ - +