Beispiel #1
0
        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);
        }
Beispiel #2
0
        public bool Execute(IIdentity identity)
        {
            bool result = false;

            using (var dialog = new ChangeTemplateDialog(identity))
            {
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    result = true;
                }
            }

            return(result);
        }
Beispiel #3
0
        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;
        }