Skip to main content
All docs
V25.2
  • Customize the Data Storing Mechanism

    • 2 minutes to read

    The Audit Trail Module stores audit records (AuditDataItem objects) in an application database. The SaveAuditTrailData event allows you to configure how this Module saves information. This event is raised when the Module commits an AuditDataItem object to the database. In this event handler, you can modify the SaveAuditTrailDataContext.AuditTrailDataItems (in .NET applications) or SaveAuditTrailDataEventArgs.AuditTrailDataItems (in .NET Framework applications) collection, and add new or remove unnecessary items. The following code snippet removes ObjectCreated records.

    File: MySolution.Blazor.Server\Startup.cs, MySolution.Win\Startup.cs, MySolution.WebApi\Startup.cs

    using DevExpress.Persistent.AuditTrail;
    // ...
    builder.Modules
        .AddAuditTrailXpo(o => {
            o.Events.OnCustomizeAuditOperationTypeFilter = context => {
                if (context.AuditOperationType == AuditOperationType.ObjectChanged ||
                    context.AuditOperationType == AuditOperationType.ObjectCreated) {
                    context.SaveAuditOperation = false;
                }
            };
        })
    

    Replace the Default Data Storing Mechanism with a Custom Mechanism

    To do this, set the event’s SaveAuditTrailDataContext.Handled (in .NET applications) or SaveAuditTrailDataEventArgs.Handled (in .NET Framework applications) argument to true in the SaveAuditTrailData event handler.

    File: MySolution.Blazor.Server\Startup.cs, MySolution.Win\Startup.cs, MySolution.WebApi\Startup.cs

    using DevExpress.Persistent.AuditTrail;
    // ...
    builder.Modules
        .AddAuditTrailXpo(o => {
            o.Events.OnCustomizeAuditOperationTypeFilter = context => {
                // Save the data passed as the `context.AuditTrailDataItems` parameter
                context.Handled = true; // Disable the default data storing mechanism
            };
        })
    

    Alternative Techniques