// ToDo - test public void AddProject(string serializedProject) { Log.Info("Adding project - " + serializedProject); try { IConfiguration configuration = configurationService.Load(); Project project = projectSerializer.Deserialize(serializedProject); configuration.AddProject(project); project.Initialize(); configurationService.Save(configuration); } catch (ApplicationException e) { Log.Warning(e); throw new CruiseControlException("Failed to add project. Exception was - " + e.Message); } }
// ToDo - this done TDD // ToDo - really delete working dir? What if SCM hasn't changed? public void UpdateProject(string projectName, string serializedProject) { Log.Info("Updating project - " + projectName); try { IConfiguration configuration = configurationService.Load(); configuration.Projects[projectName].Purge(true, false, true); configuration.DeleteProject(projectName); Project project = projectSerializer.Deserialize(serializedProject); configuration.AddProject(project); project.Initialize(); configurationService.Save(configuration); } catch (ApplicationException e) { Log.Warning(e); throw new CruiseControlException("Failed to add project. Exception was - " + e.Message); } }