Пример #1
0
        /// <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));
                    }
                }
            }
        }
Пример #2
0
        public INewPackageDialog CreateNewPackageDialog(SessionViewModel session)
        {
            var newPackageWindow = new NewPackageWindow();
            var templates        = new NewPackageTemplateCollectionViewModel(session.ServiceProvider, session);

            newPackageWindow.DataContext = templates;
            return(newPackageWindow);
        }