Пример #1
0
        public void OpenOrRestart(IDataContext context, TutorialId id)
        {
            var globalOptions = context.GetComponent <GlobalSettings>();
            var titleString   = TutorialXmlReader.ReadIntro(globalOptions.GetPath(id, PathType.WorkCopyContentFile));
            var step          = TutorialXmlReader.ReadCurrentStep(globalOptions.GetPath(id, PathType.WorkCopyContentFile));
            var firstTime     = step == 1;

            var titleWnd = new TitleWindow(titleString, firstTime);

            if (titleWnd.ShowDialog() != true)
            {
                return;
            }
            if (titleWnd.Restart)
            {
                SolutionCopyHelper.CopySolution(globalOptions.GetPath(id, PathType.BaseSolutionFolder),
                                                globalOptions.GetPath(id, PathType.WorkCopySolutionFolder));

                GC.Collect();
                TutorialXmlReader.WriteCurrentStep(globalOptions.GetPath(id, PathType.WorkCopyContentFile), "1");

                VsCommunication.OpenVsSolution(globalOptions.GetPath(id, PathType.WorkCopySolutionFile));
            }
            else
            {
                VsCommunication.OpenVsSolution(globalOptions.GetPath(id, PathType.WorkCopySolutionFile));
            }
        }
Пример #2
0
        public static void OpenTutorialSolution(SolutionStateTracker solutionStateTracker, int id)
        {
            var globalSettings = GlobalSettings.Instance;

            VsIntegration.CloseVsSolution();
            solutionStateTracker.NotifyAgreeToRunTutorial();
            SolutionCopyHelper.CleanUpDirectory(globalSettings.GetPath(id, PathType.WorkCopySolutionFolder));
            SolutionCopyHelper.CopySolution(globalSettings.GetPath(id, PathType.BaseSolutionFolder),
                                            globalSettings.GetPath(id, PathType.WorkCopySolutionFolder));
            VsIntegration.OpenVsSolution(globalSettings.GetPath(id, PathType.WorkCopySolutionFile));
        }
Пример #3
0
        public GlobalSettings([NotNull] Lifetime lifetime)
        {
            _commonTutorialPath = SolutionCopyHelper.GetTutorialsPath();
            _commonWorkCopyPath = SolutionCopyHelper.GetWorkingCopyPath();

            if (_commonTutorialPath == null || _commonWorkCopyPath == null)
            {
                throw new DirectoryNotFoundException("Unable to find the folder with sample solutions. Please reinstall the plugin");
            }

            AvailableTutorials = new Dictionary <TutorialId, string>
            {
                { TutorialId.Tutorial1, GetPath(TutorialId.Tutorial1, PathType.WorkCopySolutionFile) }
            };
        }