private PublishDetail CreatePublishDetail(ItemProcessedEventArgs publishEventArgs) { var publishOptions = publishEventArgs.Context.PublishOptions; var rootItemId = publishOptions.RootItem?.ID.ToGuid(); var rootItemPath = publishOptions.RootItem?.Paths.FullPath ?? ""; var publishDetailsEntity = new PublishDetail() { RootItemId = rootItemId, Cultures = string.Join(", ", publishEventArgs.Context.PublishContext.Languages), IsSitePublish = rootItemId == null, RootItemPath = rootItemPath, TargetDatabases = publishOptions.TargetDatabase.Name, WithRelatedItems = publishOptions.PublishRelatedItems, WithSubItems = publishOptions.Deep, PublishType = publishOptions.Mode.ToString() }; return(publishDetailsEntity); }
public void ItemProcessed(object sender, EventArgs args) { ItemProcessedEventArgs itemProcessedEventArgs = args as ItemProcessedEventArgs; PublishItemContext context = itemProcessedEventArgs != null ? itemProcessedEventArgs.Context : null; if (context != null) { var publishingItem = context.VersionToPublish; if (publishingItem != null) { var gcId = publishingItem["GC Content Id"]; if (!String.IsNullOrEmpty(gcId)) { var settings = ServiceFactory.Settings; var gcItemService = new ItemsService(settings); ItemEntity gcItem = gcItemService.GetSingleItem(gcId); if (gcItem != null) { var gcProjectService = new ProjectsService(settings); var allProjectStatuses = gcProjectService.GetAllStatuses(gcItem.Data.ProjectId.ToString()); if (allProjectStatuses != null && allProjectStatuses.Data.Any()) { var targetStatus = allProjectStatuses.Data.FirstOrDefault(s => s.Name.ToLower() == settings.StatusAfterPublish.ToLower()); if (targetStatus != null) { gcItemService.ChangeItemStatus(gcId, targetStatus.Id); } } } } } } }
private bool IsNewPublish(ItemProcessedEventArgs publishEventArgs) { return(_publishDate != publishEventArgs.Context.PublishOptions.PublishDate); }