diff --git a/src/Orchard.Web/Modules/Orchard.AuditTrail/Services/AuditTrailManager.cs b/src/Orchard.Web/Modules/Orchard.AuditTrail/Services/AuditTrailManager.cs index 0eb23b92a..1f723035f 100644 --- a/src/Orchard.Web/Modules/Orchard.AuditTrail/Services/AuditTrailManager.cs +++ b/src/Orchard.Web/Modules/Orchard.AuditTrail/Services/AuditTrailManager.cs @@ -22,7 +22,6 @@ namespace Orchard.AuditTrail.Services { /// public class AuditTrailManager : Component, IAuditTrailManager { private readonly IRepository _auditTrailRepository; - private readonly ITransactionManager _transactionManager; private readonly IAuditTrailEventProvider _providers; private readonly IClock _clock; private readonly IAuditTrailEventHandler _auditTrailEventHandlers; @@ -35,7 +34,6 @@ namespace Orchard.AuditTrail.Services { public AuditTrailManager( IRepository auditTrailRepository, - ITransactionManager transactionManager, IAuditTrailEventProvider providers, IClock clock, IAuditTrailEventHandler auditTrailEventHandlers, @@ -47,7 +45,6 @@ namespace Orchard.AuditTrail.Services { IClientHostAddressAccessor clientHostAddressAccessor) { _auditTrailRepository = auditTrailRepository; - _transactionManager = transactionManager; _providers = providers; _clock = clock; _auditTrailEventHandlers = auditTrailEventHandlers; @@ -261,9 +258,13 @@ namespace Orchard.AuditTrail.Services { var dateThreshold = (_clock.UtcNow.EndOfDay() - retentionPeriod); var query = _auditTrailRepository.Table.Where(x => x.CreatedUtc <= dateThreshold); - _transactionManager.GetSession().Delete(query); + var recordsToDeleteArray = query.ToArray(); - return query.ToArray(); + foreach (var record in query) { + _auditTrailRepository.Delete(record); + } + + return recordsToDeleteArray; } public string SerializeProviderConfiguration(IEnumerable settings) {