/// <inheritdoc /> public override void Execute(CommandContext context) { Item obj = context.Items[0]; NameValueCollection parameters = context.Parameters; string str1; if (parameters == null) { str1 = (string)null; } else { string index = "tagtree"; str1 = parameters[index]; } string str2 = str1; bool flag = str2 != null && bool.Parse(str2); var source = new List <Item>(); if (flag) { var descendants = obj.Axes.GetDescendants().Where(x => x.IsDerived(Constants.Templates.ReletedContentTagging)); if (obj.IsDerived(Constants.Templates.ReletedContentTagging)) { source.Add(obj); } source.AddRange(descendants); } else if (obj.IsDerived(Constants.Templates.ReletedContentTagging)) { source.Add(obj); } if (!source.Any()) { return; } MessageBus messageBus = this.MessageBusFactory.Create(); JobContextMessageHandler contextMessageHandler = new JobContextMessageHandler(); messageBus.Subscribe(contextMessageHandler); ClientPipelineArgs args = new ClientPipelineArgs(); args.CustomData["items"] = source; args.CustomData["messageBus"] = messageBus; Context.ClientPage.Start(this, "Run", args); }
private void TagItem(Item item) { try { var ContentTaggingRunner = ServiceLocator.ServiceProvider.GetService <IContentTaggingRunner>(); var MessageBusFactory = ServiceLocator.ServiceProvider.GetService <IMessageBusFactory>(); var messageBus = MessageBusFactory.Create(); JobContextMessageHandler contextMessageHandler = new JobContextMessageHandler(); messageBus.Subscribe((Sitecore.ContentTagging.Core.Messaging.IMessageHandler)contextMessageHandler); ContentTaggingRunner.Run(item, messageBus); } catch (System.Exception ex) { Sitecore.Diagnostics.Log.Error($"Failed to tag item {item.ID}", ex, this); } }