@Override
public Project newProject(Project project) {
try {
int id = dbCreate(
"INSERT INTO PROJECTS(NAME, DESCRIPTION, DISABLED, CREATION, CREATOR) VALUES (:name, :description, :disabled, :creation, :creator)",
params("name", project.getName())
.addValue("description", project.getDescription())
.addValue("disabled", project.isDisabled())
.addValue("creation", dateTimeForDB(project.getSignature().getTime()))
.addValue("creator", project.getSignature().getUser().getName())
);
return project.withId(id(id));
} catch (DuplicateKeyException ex) {
throw new ProjectNameAlreadyDefinedException(project.getName());
}
}