Example #1
0
        public static bool ShowDialog(string title, string msg)
        {
            var infoDlgVM = new InfoDialogViewModel(title, msg);
            var infoDlg   = new InfoDialogView(infoDlgVM);

            return(infoDlg.ShowDialog() == true);
        }
Example #2
0
        private void CheckForMissingWorkloads(string platform, string requiredWorkloads)
        {
            var vsShell = GenContext.ToolBox.Shell as VsGenShell;

            if (vsShell != null)
            {
                var workloadsToCheck = requiredWorkloads.Split('|');
                var missingWorkloads = new List <string>();

                foreach (var workload in workloadsToCheck)
                {
                    if (!vsShell.GetInstalledPackageIds().Contains(workload))
                    {
                        missingWorkloads.Add(workload.GetRequiredWorkloadDisplayName());
                    }
                }

                if (missingWorkloads.Count > 0)
                {
                    var title   = UIStringRes.InfoDialogMissingWorkloadTitle;
                    var message = string.Format(UIStringRes.InfoDialogRequiredWorkloadNotFoundMessage, platform.GetPlatformDisplayName(), missingWorkloads.Aggregate((i, j) => $"{i}, {j}"));
                    var link    = "https://docs.microsoft.com/en-us/visualstudio/install/install-visual-studio";

                    var vm   = new InfoDialogViewModel(title, message, link, _styleProvider);
                    var info = new Views.Common.InfoDialog(vm);
                    GenContext.ToolBox.Shell.ShowModal(info);

                    CancelWizard();
                }
            }
        }
Example #3
0
        private void CheckForInvalidProjectName()
        {
            var validationService     = new ProjectNameService(GenContext.ToolBox.Repo.ProjectNameValidationConfig, () => new List <string>());
            var projectName           = GenContext.Current.ProjectName;
            var projectNameValidation = validationService.Validate(projectName);

            if (!projectNameValidation.IsValid)
            {
                var message = string.Empty;
                switch (projectNameValidation.Errors.FirstOrDefault()?.ErrorType)
                {
                case ValidationErrorType.ReservedName:
                    message = string.Format(CoreStringRes.ErrorProjectReservedName, projectName);
                    break;

                case ValidationErrorType.Regex:
                    message = string.Format(CoreStringRes.ErrorProjectStartsWith, projectName, projectName[0]);
                    break;
                }

                var title = CoreStringRes.ErrorTitleInvalidProjectName;
                var link  = "https://github.com/microsoft/WindowsTemplateStudio/blob/release/docs/WTSNaming.md";
                var vm    = new InfoDialogViewModel(title, message, link, _styleProvider);
                var info  = new Views.Common.InfoDialog(vm);
                GenContext.ToolBox.Shell.ShowModal(info);

                CancelWizard();
            }
        }
Example #4
0
        public InfoDialog(InfoDialogViewModel vm)
        {
            DataContext    = vm;
            vm.CloseAction = () => Close();

            InitializeComponent();
        }
        public void LicenseInformationIsCorrectlyLoaded()
        {
            // Arrange Act
            var vm = new InfoDialogViewModel();

            // Assert
            Assert.IsTrue(vm.Licenses.Any());
        }
        public void ChangelogIsCorrectlyLoaded()
        {
            // Arrange Act
            var vm = new InfoDialogViewModel();

            // Assert
            Assert.IsTrue(vm.Changelogs.Any());
        }
Example #7
0
        public void ShowInfo(string info)
        {
            ShowChildWindowMessage message   = _messenger.CreateMessage <ShowChildWindowMessage>();
            InfoDialogViewModel    viewModel = (InfoDialogViewModel)_viewModelFactory.GetChild <InfoDialogViewModel>(info);

            message.Content  = viewModel;
            message.IsDialog = false;
            _messenger.Send(message);
        }
Example #8
0
 public void ShowInfo(string info)
 {
     DispatcherHelper.CheckBeginInvokeOnUI(() =>
     {
         ShowChildWindowMessage message = _messenger.CreateMessage <ShowChildWindowMessage>();
         InfoDialogViewModel viewModel  = (InfoDialogViewModel)_viewModelFactory.GetChild <InfoDialogViewModel>(info);
         message.Content  = viewModel;
         message.IsDialog = false;
         _messenger.Send(message);
     });
 }
Example #9
0
        public void ShowDialog(InfoDialogViewModel vm)
        {
            _infoDialog = new InfoDialog()
            {
                Owner       = Application.Current.MainWindow,
                DataContext = vm
            };

            Messenger.Default.Register <NotificationMessage>(this, message =>
            {
                if (message.Notification == "CloseInfoDialog")
                {
                    CloseInfoDialog();
                }
            });

            _infoDialog.ShowDialog();
        }
Example #10
0
        private void CheckForMissingWorkloads(string platform, string requiredWorkload)
        {
            var vsShell = GenContext.ToolBox.Shell as VsGenShell;

            if (vsShell != null)
            {
                if (!vsShell.GetInstalledPackageIds().Contains(requiredWorkload))
                {
                    var title   = UIStringRes.InfoDialogMissingWorkloadTitle;
                    var message = string.Format(UIStringRes.InfoDialogRequiredWorkloadNotFoundMessage, requiredWorkload.GetRequiredWorkloadDisplayName(), platform.GetPlatformDisplayName());
                    var link    = "https://docs.microsoft.com/en-us/visualstudio/install/install-visual-studio";

                    var vm   = new InfoDialogViewModel(title, message, link, _styleProvider);
                    var info = new Views.Common.InfoDialog(vm);
                    GenContext.ToolBox.Shell.ShowModal(info);

                    CancelWizard();
                }
            }
        }
Example #11
0
        private void CheckVSVersion(string platform)
        {
            var vsInfo = GenContext.ToolBox.Shell.GetVSTelemetryInfo();

            if (!string.IsNullOrEmpty(vsInfo.VisualStudioExeVersion))
            {
                // VisualStudioExeVersion is Empty on UI Test or VSEmulator execution
                var version = Version.Parse(vsInfo.VisualStudioExeVersion);
                if (platform == Platforms.Wpf && (version.Major < 16 || (version.Major == 16 && version.Minor < 3)))
                {
                    var title   = UIStringRes.InfoDialogInvalidVersionTitle;
                    var message = UIStringRes.InfoDialogInvalidVSVersionForWPF;
                    var link    = "https://docs.microsoft.com/en-us/visualstudio/install/install-visual-studio";

                    var vm   = new InfoDialogViewModel(title, message, link, _styleProvider);
                    var info = new Views.Common.InfoDialog(vm);
                    GenContext.ToolBox.Shell.ShowModal(info);

                    CancelWizard();
                }
            }
        }
Example #12
0
        private void CheckVSVersion(string platform, string requiredVersion)
        {
            var vsInfo = GenContext.ToolBox.Shell.GetVSTelemetryInfo();

            if (!string.IsNullOrEmpty(requiredVersion) && !string.IsNullOrEmpty(vsInfo.VisualStudioExeVersion))
            {
                // VisualStudioExeVersion is Empty on UI Test or VSEmulator execution
                var actualVSVersion   = Version.Parse(vsInfo.VisualStudioExeVersion);
                var requiredVSVersion = Version.Parse(requiredVersion);
                if (actualVSVersion.CompareTo(requiredVSVersion) < 0)
                {
                    var title   = UIStringRes.InfoDialogInvalidVersionTitle;
                    var message = string.Format(UIStringRes.InfoDialogInvalidVSVersion, platform, requiredVersion);
                    var link    = "https://docs.microsoft.com/en-us/visualstudio/install/install-visual-studio";

                    var vm   = new InfoDialogViewModel(title, message, link, _styleProvider);
                    var info = new Views.Common.InfoDialog(vm);
                    GenContext.ToolBox.Shell.ShowModal(info);

                    CancelWizard();
                }
            }
        }