Пример #1
0
        public override void Execute(object parameter)
        {
            var context = parameter as IItemSelectionContext;

            if (context == null)
            {
                return;
            }

            var firstItem = context.Items.FirstOrDefault();

            if (firstItem == null)
            {
                return;
            }

            var dialog = new CreateThumbnailDialog();

            dialog.Initialize(firstItem.ItemUri.DatabaseUri, firstItem.Name);
            if (AppHost.Shell.ShowDialog(dialog) != true)
            {
                return;
            }

            ExecuteCompleted completed = delegate(string response, ExecuteResult result)
            {
                if (!DataService.HandleExecute(response, result))
                {
                    return;
                }

                foreach (var item in context.Items)
                {
                    var itemUri        = item.ItemUri;
                    var itemVersionUri = new ItemVersionUri(itemUri, LanguageManager.CurrentLanguage, Data.Version.Latest);
                    var fieldUri       = new FieldUri(itemVersionUri, new FieldId(new Guid(ThumbnailFieldId)));

                    Notifications.RaiseFieldChanged(this, fieldUri, response);
                }
            };

            firstItem.ItemUri.Site.DataService.ExecuteAsync("Items.SetThumbnail", completed, firstItem.ItemUri.DatabaseName.ToString(), firstItem.ItemUri.ItemId.ToString(), ThumbnailFieldId, dialog.FileName, "1", dialog.X, dialog.Y, true);
        }
Пример #2
0
        public override void Execute(object parameter)
        {
            var context = parameter as ContentEditorFieldContext;

            if (context == null)
            {
                return;
            }

            var firstItem = context.ContentEditor.ContentModel.FirstItem;

            var dialog = new CreateThumbnailDialog();

            dialog.Initialize(firstItem.ItemUri.DatabaseUri, firstItem.Name);
            if (AppHost.Shell.ShowDialog(dialog) != true)
            {
                return;
            }

            ExecuteCompleted completed = delegate(string response, ExecuteResult result)
            {
                if (!DataService.HandleExecute(response, result))
                {
                    return;
                }

                var fieldControl = context.Field.Control;
                if (fieldControl != null)
                {
                    fieldControl.SetValue(response);
                }

                context.ContentEditor.ContentModel.IsModified = true;
            };

            firstItem.ItemUri.Site.DataService.ExecuteAsync("Items.SetThumbnail", completed, firstItem.ItemUri.DatabaseName.ToString(), firstItem.ItemUri.ItemId.ToString(), context.Field.FieldUris.First().FieldId.ToString(), dialog.FileName, "1", dialog.X, dialog.Y, false);
        }