protected override void PostProcessCore(DataDbContextAccessor <TAudit, TAuditProperty, TMigration, TTabulation, TTenant, TGenId, TIncremId, TCreatedBy> dbContextAccessor)
        {
            (var adds, var updates) = GetAddsOrUpdates(dbContextAccessor);

            if (adds.IsNotNull() || updates.IsNotNull())
            {
                var notification = new TabulationNotification <TTabulation>();
                notification.Adds    = adds;
                notification.Updates = updates;

                var mediator = dbContextAccessor.GetService <IMediator>();
                mediator.Publish(notification).ConfigureAwaitCompleted();
            }
        }
        protected override async Task PostProcessCoreAsync(DataDbContextAccessor <TAudit, TAuditProperty, TMigration, TTabulation, TTenant, TGenId, TIncremId, TCreatedBy> dbContextAccessor,
                                                           CancellationToken cancellationToken = default)
        {
            (var adds, var updates) = GetAddsOrUpdates(dbContextAccessor, cancellationToken);

            if (adds.IsNotNull() || updates.IsNotNull())
            {
                var notification = new TabulationNotification <TTabulation>();
                notification.Adds    = adds;
                notification.Updates = updates;

                var mediator = dbContextAccessor.GetService <IMediator>();
                await mediator.Publish(notification, cancellationToken).ConfigureAwait();
            }
        }