/// <summary> /// Merge selected report items into manifest. /// </summary> public override void Execute() { if (CurrentDocument != null) { Project project = App.Instance.SalesForceApp.CurrentProject; // create the source manifest SourceFile[] files = CurrentDocument.SelectedReportItems; Manifest manifest = new Manifest(String.Format("{0} files selected from report", files.Length)); foreach (SourceFile file in files) { manifest.AddItem(file); } MergeManifestWindow dlg = new MergeManifestWindow(); dlg.ManifestSources = new Manifest[] { manifest }; dlg.ManifestSource = manifest; dlg.ManifestTargets = project.GetManifests(); if (App.ShowDialog(dlg)) { IDocument[] targetDocuments = App.Instance.Content.GetDocumentsByEntity(dlg.ManifestTarget); ManifestEditorDocument targetDocument = targetDocuments.FirstOrDefault(d => d is ManifestEditorDocument) as ManifestEditorDocument; if (targetDocument == null) { targetDocument = new ManifestEditorDocument(project, dlg.ManifestTarget); } targetDocument.Merge(dlg.ManifestSource); App.Instance.Content.OpenDocument(targetDocument); } } }
/// <summary> /// Merge manifests. /// </summary> public override void Execute() { Project project = App.Instance.SalesForceApp.CurrentProject; if (project != null) { Manifest[] manifests = project.GetManifests(); Manifest manifest = GetSelectedManifest(); MergeManifestWindow dlg = new MergeManifestWindow(); dlg.ManifestSources = manifests; dlg.ManifestTargets = manifests; dlg.ManifestSource = GetSelectedManifest(); if (App.ShowDialog(dlg)) { IDocument[] targetDocuments = App.Instance.Content.GetDocumentsByEntity(dlg.ManifestTarget); ManifestEditorDocument targetDocument = targetDocuments.FirstOrDefault(d => d is ManifestEditorDocument) as ManifestEditorDocument; if (targetDocument == null) { targetDocument = new ManifestEditorDocument(project, dlg.ManifestTarget); } targetDocument.Merge(dlg.ManifestSource); App.Instance.Content.OpenDocument(targetDocument); } } }