private string GetCurrentRootDirectory()
        {
            var rootDirectory = TemplatesRootDirectoryPathRepository.Get();

            if (!string.IsNullOrEmpty(rootDirectory))
            {
                return(rootDirectory);
            }
            MessageBox.Show("Please select where you want your Helix module and solution templates stored.\n\nIf you already selected a location please restart Visual Studio as administrator.", "Welcome", MessageBoxButton.OK);
            return(TemplatesRootDirectoryPathRepository.DefaultRootPath);
        }
Пример #2
0
        private IHelixProjectTemplate GetHelixProjectTemplate(string solutionRootDirectory)
        {
            var manifestBrowseDialog = new ManifestDialog();

            manifestBrowseDialog.Initialize(TemplatesRootDirectoryPathRepository.Get(), solutionRootDirectory, _replacementTokens, _isExclusive);
            var dialogResult = manifestBrowseDialog.ShowModal();

            if (dialogResult.HasValue && dialogResult.Value)
            {
                return(manifestBrowseDialog.HelixProjectTemplate);
            }
            return(null);
        }
        private void UnpackTemplates_Clicked(object sender, RoutedEventArgs e)
        {
            var rootDirectory = TemplatesRootDirectoryPathRepository.Get();

            if (string.IsNullOrEmpty(rootDirectory) || !Directory.Exists(rootDirectory))
            {
                MessageBox.Show(this, "You need to set a valid root directory.", "Error", MessageBoxButton.OK);
                return;
            }
            UnpackBuiltInButton.IsEnabled = false;
            if (Directory.EnumerateDirectories(rootDirectory).Any())
            {
                var overwriteConfirmResult = MessageBox.Show("This will overwrite changes made to built-in templates in this root folder.\nAre you sure you want to continue?\n\nNote: Always make your modifications changes in copies and never directly in the built-in example templates.", "Confirm", MessageBoxButton.YesNo);
                if (overwriteConfirmResult != MessageBoxResult.Yes)
                {
                    UnpackBuiltInButton.IsEnabled = true;
                    return;
                }
                DeleteExistingBuiltInTemplates(rootDirectory);
            }
            UnzipTemplatesArchive(rootDirectory);
            MessageBox.Show("Built-in templates updated", "", MessageBoxButton.OK);
            UnpackBuiltInButton.IsEnabled = true;
        }