public override void Execute(object parameter) { var context = parameter as IItemSelectionContext; if (context == null) { return; } var item = context.Items.FirstOrDefault(); if (item == null) { return; } var templateId = ItemId.Empty; var templateName = string.Empty; var templatedItem = item as ITemplatedItem; if (templatedItem != null) { templateId = templatedItem.TemplateId; templateName = templatedItem.TemplateName; } var dialog = new ChangeTemplateDialog(item.ItemUri.DatabaseUri, templateId, templateName); if (AppHost.Shell.ShowDialog(dialog) != true) { return; } var template = dialog.SelectedTemplate; if (template == null) { return; } var uriList = context.Items.Select(i => i.ItemUri); ExecuteCompleted callback = delegate(string response, ExecuteResult executeResult) { if (!DataService.HandleExecute(response, executeResult)) { return; } foreach (var itemUri in uriList) { Notifications.RaiseItemTemplateChanged(this, itemUri, template.TemplateUri); } }; item.ItemUri.Site.DataService.ChangeTemplates(uriList, template.TemplateUri, callback); }
public bool Execute(IIdentity identity) { bool result = false; using (var dialog = new ChangeTemplateDialog(identity)) { if (dialog.ShowDialog() == DialogResult.OK) { result = true; } } return(result); }
private void Edit([NotNull] object sender, [NotNull] RoutedEventArgs e) { Debug.ArgumentNotNull(sender, nameof(sender)); Debug.ArgumentNotNull(e, nameof(e)); var dialog = new ChangeTemplateDialog(DatabaseUri, ItemId.Empty, string.Empty); if (AppHost.Shell.ShowDialog(dialog) != true) { return; } var template = dialog.SelectedTemplate; if (template == null) { return; } Value = template.TemplateUri.ItemId.ToString(); run.Text = template.Name; }