public override async Task DoWorkAsync(CancellationToken cancellationToken, BaseUpdateViewModel viewModel, Solution solution)
        {
            if (solution == null)
            {
                return;
            }

            if (!(viewModel is SolutionUpdateViewModel updateViewModel))
            {
                throw new ArgumentException($"Argument {nameof(viewModel)} must be of type {nameof(SolutionUpdateViewModel)}");
            }

            await _licenseHeaderExtension.JoinableTaskFactory.SwitchToMainThreadAsync();

            var allSolutionProjectsSearcher = new AllSolutionProjectsSearcher();
            var projectsInSolution          = allSolutionProjectsSearcher.GetAllProjects(solution);

            updateViewModel.ProcessedProjectCount = 0;
            updateViewModel.ProjectCount          = projectsInSolution.Count;
            var removeAllLicenseHeadersCommand = new RemoveLicenseHeaderFromAllFilesInProjectHelper(cancellationToken, _licenseHeaderExtension, updateViewModel);

            foreach (var project in projectsInSolution)
            {
                await removeAllLicenseHeadersCommand.ExecuteAsync(project);
                await IncrementProjectCountAsync(updateViewModel).ConfigureAwait(true);
            }
        }
Exemplo n.º 2
0
        public override async Task DoWorkAsync(CancellationToken cancellationToken, BaseUpdateViewModel viewModel)
        {
            await _licenseHeaderExtension.JoinableTaskFactory.SwitchToMainThreadAsync();

            var obj = _licenseHeaderExtension.GetSolutionExplorerItem();
            var removeAllLicenseHeadersCommand =
                new RemoveLicenseHeaderFromAllFilesInProjectHelper(cancellationToken, _licenseHeaderExtension, viewModel);

            await removeAllLicenseHeadersCommand.ExecuteAsync(obj);
        }