public PredefinedPromotionLevel withId(ID id) { return new PredefinedPromotionLevel(id, name, description, image); }
@Override public void savePredefinedPromotionLevel(PredefinedPromotionLevel validationStamp) { // Update try { getNamedParameterJdbcTemplate().update( "UPDATE PREDEFINED_PROMOTION_LEVELS SET NAME = :name, DESCRIPTION = :description WHERE ID = :id", params("name", validationStamp.getName()) .addValue("description", validationStamp.getDescription()) .addValue("id", validationStamp.id()) ); } catch (DuplicateKeyException ex) { throw new PredefinedPromotionLevelNameAlreadyDefinedException(validationStamp.getName()); } }
@Override public ID newPredefinedPromotionLevel(PredefinedPromotionLevel stamp) { try { // Order nb = max + 1 Integer orderNbValue = getFirstItem( "SELECT MAX(ORDERNB) FROM PREDEFINED_PROMOTION_LEVELS", noParams(), Integer.class ); int orderNb = orderNbValue != null ? orderNbValue + 1 : 0; return ID.of( dbCreate( "INSERT INTO PREDEFINED_PROMOTION_LEVELS(NAME, ORDERNB, DESCRIPTION) VALUES (:name, :orderNb, :description)", params("name", stamp.getName()) .addValue("description", stamp.getDescription()) .addValue("orderNb", orderNb) ) ); } catch (DuplicateKeyException ex) { throw new PredefinedPromotionLevelNameAlreadyDefinedException(stamp.getName()); } }
public Form asForm() { return form() .fill("name", name) .fill("description", description); }
public PredefinedPromotionLevel withImage(boolean image) { return new PredefinedPromotionLevel(id, name, description, image); }
public PredefinedPromotionLevel update(NameDescription nameDescription) { return new PredefinedPromotionLevel( id, nameDescription.getName(), nameDescription.getDescription(), image ); } }
public static PredefinedPromotionLevel of(NameDescription nameDescription) { return new PredefinedPromotionLevel(ID.NONE, nameDescription.getName(), nameDescription.getDescription(), false); }