コード例 #1
0
ファイル: PrigController.cs プロジェクト: poizan42/Prig
        public virtual void RemovePrigAssembly(PrigViewModel vm)
        {
            var projItem          = MonitoringSelectionService.GetSelectedItem <ProjectItem>();
            var deletionalInclude = Regex.Replace(projItem.Name, @"(.*)\.prig$", "$1");

            RemovePrigAssemblyCore(vm, deletionalInclude);
        }
コード例 #2
0
ファイル: PrigController.cs プロジェクト: poizan42/Prig
        public virtual void EditPrigIndirectionSettings(PrigViewModel vm)
        {
            var projItem         = MonitoringSelectionService.GetSelectedItem <ProjectItem>();
            var editorialInclude = Regex.Replace(projItem.Name, @"(.*)\.v\d+\.\d+\.\d+\.v\d+\.\d+\.\d+\.\d+\.prig", "$1");

            EditPrigIndirectionSettingsCore(vm, editorialInclude);
        }
コード例 #3
0
ファイル: PrigController.cs プロジェクト: poizan42/Prig
        public virtual void BeforeQueryStatusTestAdapter(PrigViewModel vm)
        {
            if (vm.IsTestAdapterEnabled.Value)
            {
                return;
            }

            var proj = MonitoringSelectionService.GetCurrentProject();

            vm.SetToCurrentProjectIfSupported(proj);
        }
コード例 #4
0
ファイル: PrigController.cs プロジェクト: poizan42/Prig
        void RemovePrigAssemblyCore(PrigViewModel vm, string deletionalInclude)
        {
            vm.BeginProjectWideProcessProgress(ProjectWideProcesses.PrigAssemblyRemoving);


            var machinePreq = new MachinePrerequisite(Resources.NuGetRootPackageVersion);

            machinePreq.ProfilerStatusChecking += profLoc => vm.ReportProfilerStatusCheckingProgress(13u, profLoc);
            if (!MachineWideInstaller.HasBeenInstalled(machinePreq))
            {
                vm.ShowSkippedProjectWideProcessMessage(SkippedReasons.NotRegisteredYet, deletionalInclude);
                vm.EndSkippedProjectWideProcessProgress(SkippedReasons.NotRegisteredYet, deletionalInclude);
                return;
            }


            if (!vm.ConfirmRemovingPrigAssembly(deletionalInclude))
            {
                return;
            }


            var proj = MonitoringSelectionService.GetCurrentProject();


            var pwPkg = new ProjectWidePackage(Resources.NuGetRootPackageId, Resources.NuGetRootPackageVersion, proj);

            pwPkg.PackagePreparing      += () => vm.ReportPackagePreparingProgress(25u);
            pwPkg.PackageInstalling     += metadata => vm.ReportPackageInstallingProgress(50u, metadata);
            pwPkg.PackageInstalled      += metadata => vm.ReportPackageInstalledProgress(50u, metadata);
            pwPkg.PackageReferenceAdded += metadata => vm.ReportPackageReferenceAddedProgress(50u, metadata);
            ProjectWideInstaller.Install(pwPkg);


            var command = string.Format(
                @"
Import-Module ([IO.Path]::Combine($env:URASANDESU_PRIG_PACKAGE_FOLDER, 'tools\Urasandesu.Prig'))
Start-PrigSetup -DeletionalInclude {0} -Project $Project
", deletionalInclude);
            var mci = new ManagementCommandInfo(command, proj);

            mci.CommandExecuting += () => vm.ReportProcessingProjectWideProcessProgress(75u, deletionalInclude);
            mci.CommandExecuted  +=
                () =>
            {
                vm.ShowCompletedProjectWideProcessMessage(deletionalInclude);
                vm.EndCompletedProjectWideProcessProgress(deletionalInclude);
            };
            ManagementCommandExecutor.Execute(mci);
        }
コード例 #5
0
ファイル: PrigController.cs プロジェクト: poizan42/Prig
 public virtual void AddPrigAssembly(PrigViewModel vm)
 {
     AddPrigAssemblyCore(vm, MonitoringSelectionService.GetSelectedItem <Reference5>().Identity);
 }
コード例 #6
0
ファイル: PrigController.cs プロジェクト: poizan42/Prig
        public virtual void BeforeQueryStatusEditPrigIndirectionSettings(PrigViewModel vm)
        {
            var projItem = MonitoringSelectionService.GetSelectedItem <ProjectItem>();

            vm.SetEditPrigIndirectionSettingsCommandVisibility(projItem);
        }