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); }
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); }