protected virtual void InnerHandle <T>(GenericChangedEntryEvent <T> @event) where T : IEntity
        {
            var logOperations = @event.ChangedEntries.Select(x => AbstractTypeFactory <OperationLog> .TryCreateInstance().FromChangedEntry(x)).ToArray();

            //Background task is used here for performance reasons
            BackgroundJob.Enqueue(() => LogEntityChangesInBackground(logOperations));
        }
        protected virtual void InnerHandle <T>(GenericChangedEntryEvent <T> @event) where T : IEntity
        {
            // TODO PT-365: Simplify and refactor LogChangesEventHandler
            var logOperations = @event.ChangedEntries.Select(x =>
            {
                var result = AbstractTypeFactory <OperationLog> .TryCreateInstance().FromChangedEntry(x);
                // ObjectType has to be 'Member' as MemberDocumentChangesProvider uses it to get all changed members in 1 request.
                result.ObjectType = nameof(Member);
                return(result);
            }).ToArray();

            //Background task is used here for performance reasons
            BackgroundJob.Enqueue(() => LogEntityChangesInBackground(logOperations));
        }
        protected virtual async Task InnerHandle <T>(GenericChangedEntryEvent <T> @event) where T : IEntity
        {
            var logPricingChangesEnabled = await _settingsManager.GetValueAsync(ModuleConstants.Settings.General.LogPricingChanges.Name, (bool)ModuleConstants.Settings.General.LogPricingChanges.DefaultValue);

            if (logPricingChangesEnabled)
            {
                var logOperations = @event.ChangedEntries.Select(x => AbstractTypeFactory <OperationLog> .TryCreateInstance().FromChangedEntry(x)).ToArray();
                //Background task is used here for performance reasons
                BackgroundJob.Enqueue(() => LogEntityChangesInBackground(logOperations));
            }
            else
            {
                // Force reset the date of last data modifications, so that it would be reset even if the Pricing.LogPricingChanges setting is inactive.
                _lastModifiedDateTime.Reset();
            }
        }