Files
Orchard/src/Orchard.Web/Modules/Orchard.PublishLater/Handlers/PublishLaterPartHandler.cs
Sebastien Ros 7890814c01 #18909: Deleting associated publishing tasks when a content item is deleted
Work Item: 18909

--HG--
branch : 1.x
2012-09-21 17:13:38 -07:00

24 lines
1.0 KiB
C#

using Orchard.ContentManagement.Handlers;
using Orchard.PublishLater.Models;
using Orchard.PublishLater.Services;
using Orchard.Tasks.Scheduling;
namespace Orchard.PublishLater.Handlers {
public class PublishLaterPartHandler : ContentHandler {
private readonly IPublishLaterService _publishLaterService;
public PublishLaterPartHandler(
IPublishLaterService publishLaterService,
IPublishingTaskManager publishingTaskManager) {
_publishLaterService = publishLaterService;
OnLoading<PublishLaterPart>((context, part) => LazyLoadHandlers(part));
OnVersioning<PublishLaterPart>((context, part, newVersionPart) => LazyLoadHandlers(newVersionPart));
OnRemoved<PublishLaterPart>((context, part) => publishingTaskManager.DeleteTasks(part.ContentItem));
}
protected void LazyLoadHandlers(PublishLaterPart part) {
part.ScheduledPublishUtc.Loader((value) => _publishLaterService.GetScheduledPublishUtc(part));
}
}
}