public IEnumerable <Project> GetAddedProjects() { foreach (var id in _newSolution.ProjectIds) { if (!_oldSolution.ContainsProject(id)) { yield return(_newSolution.GetRequiredProject(id)); } } }
public IEnumerable <ProjectChanges> GetProjectChanges() { var old = _oldSolution; // if the project states are different then there is a change. foreach (var id in _newSolution.ProjectIds) { var newState = _newSolution.GetProjectState(id); var oldState = old.GetProjectState(id); if (oldState != null && newState != null && newState != oldState) { yield return(_newSolution.GetRequiredProject(id).GetChanges(_oldSolution.GetRequiredProject(id))); } } }