public static DialogResult RunEmbedded(LibraryFileLink link, LibraryFolderLink parentLink, LinkSettingsType settingsType) { var dilogResult = DialogResult.Cancel; link.PerformTransaction(link.ParentLibrary.Context, linkCopy => { using (var editForm = new FormEditLinkSettingsEmbedded(linkCopy, parentLink)) { editForm.InitForm(settingsType); dilogResult = editForm.ShowDialog(); if (dilogResult == DialogResult.OK) linkCopy.MarkAsModified(); return dilogResult == DialogResult.OK; } }, copyMethod => MainController.Instance.ProcessManager.Run("Preparing Data...", cancelationToken => copyMethod()), (context, original, current) => MainController.Instance.ProcessManager.Run("Saving Changes...", cancelationToken => { current.BeforeSave(); original.ApplyValues(current); })); return dilogResult; }