public void Save(Sln solution) { var solutionContents = _fileSystem.ReadStringFromFile(solution.FileName); var solutionBuilder = new StringBuilder(); var modifiers = new List<ISolutionFileModifier> { new AddProjectsModifier(solution), new AddConfigurationsModifier(solution), new AppendLineModifier() }; var lines = SplitSolution(solutionContents); lines.Each(line => { var filteredModifiers = modifiers.Where(m => m.Matches(line)); foreach(var m in filteredModifiers) { if(!m.Modify(line, solutionBuilder)) { break; } } }); _fileSystem.WriteStringToFile(solution.FileName, solutionBuilder.ToString()); }
public AddProjectsModifier(Sln solution) { _solution = solution; }
public AddConfigurationsModifier(Sln solution) { _solution = solution; }