public async Task <int> OnExecute(CommandLineApplication app, IConsole console)
        {
            if (string.IsNullOrWhiteSpace(Path))
            {
                Path = Directory.GetCurrentDirectory();
            }

            if (!Directory.Exists(Path))
            {
                console.WriteLine("Supplied Path does not exist. Aborting");
                return(await Task.FromResult(-1));
            }

            console.WriteLine($"Starting updating of {Path}");

            var projectFileFileFinder = new ProjectFileFinder(_fileSystem);
            var dockerFileFinder      = new DockerFileFinder(_fileSystem);
            var environmentFileFinder = new EnvironmentFileFinder(_fileSystem);
            var fileUpdater           = new FileUpdater(console);

            var dockerFiles  = dockerFileFinder.Search(Path);
            var projectFiles = projectFileFileFinder.Search(Path);
            var envFiles     = environmentFileFinder.Search(Path);

            //TODO: inject the version updater based on the version the user wants
            var dotNetVersionUpdater = new Version2Point1Updater();

            fileUpdater.UpdateProjectFiles(projectFiles, dotNetVersionUpdater);
            fileUpdater.UpdateDockerFiles(dockerFiles, dotNetVersionUpdater);
            fileUpdater.UpdateEnvironmentFiles(envFiles, dotNetVersionUpdater);

            if (Test)
            {
                var dotnet = new DotNet();
                dotnet.Test();
            }

            return(await Task.FromResult(0));
        }
 public void UpdateEnvironmentFiles(IEnumerable <FileInfo> envFiles, Version2Point1Updater dotNetVersionUpdater)
 {
     UpdateFiles(envFiles, dotNetVersionUpdater.UpdateEnvFileContent, "No .env files found!");
 }
 public void Setup()
 {
     _updater = new Version2Point1Updater();
 }