/// <summary> /// Opens a new package view. /// </summary> public override void Execute() { if (App.Instance.SalesForceApp.CurrentProject != null && CurrentDocument != null) { Project project = App.Instance.SalesForceApp.CurrentProject; Manifest manifest = CurrentDocument.Manifest; NewPackageWindow dlg = new NewPackageWindow(); dlg.PackageManifestName = manifest.Name; if (App.ShowDialog(dlg)) { string fileName = System.IO.Path.Combine(project.PackageFolder, String.Format("{0}.zip", dlg.PackageName)); if (System.IO.File.Exists(fileName)) { throw new Exception("A package with the given name already exists: " + dlg.PackageName); } using (App.Wait("Creating package")) { Package package = new Package(fileName, dlg.IsPackageDestructive, manifest); package.Save(project.Client); PackageFolderNode packageFolderNode = App.Instance.Navigation.GetNode <PackageFolderNode>(); if (packageFolderNode != null) { packageFolderNode.AddPackage(package); } App.Instance.Content.OpenDocument(new PackageViewDocument(project, package)); } } } }
public INewPackageDialog CreateNewPackageDialog(SessionViewModel session) { var newPackageWindow = new NewPackageWindow(); var templates = new NewPackageTemplateCollectionViewModel(session.ServiceProvider, session); newPackageWindow.DataContext = templates; return(newPackageWindow); }