public AbstractRechnungDO<T> addPosition(final T position) { ensureAndGetPositionen(); short number = 1; for (final T pos : positionen) { if (pos.getNumber() >= number) { number = pos.getNumber(); number++; } } position.setNumber(number); position.setRechnung(this); this.positionen.add(position); return this; }
@Override public int hashCode() { final HashCodeBuilder hcb = new HashCodeBuilder(); hcb.append(getNumber()); if (getRechnung() != null) { hcb.append(getRechnung().getId()); } return hcb.toHashCode(); }
@Override public boolean equals(final Object o) { if (o instanceof AbstractRechnungsPositionDO) { final AbstractRechnungsPositionDO other = (AbstractRechnungsPositionDO) o; if (ObjectUtils.equals(this.getNumber(), other.getNumber()) == false) { return false; } if (ObjectUtils.equals(this.getRechnungId(), other.getRechnungId()) == false) { return false; } return true; } return false; }
protected String getPositionHeading(final AbstractRechnungsPositionDO position, final ToggleContainerPanel positionsPanel) { if (positionsPanel.getToggleStatus() == ToggleStatus.OPENED) { return getString("label.position.short") + " #" + position.getNumber(); } final StringBuffer heading = new StringBuffer(); heading.append(escapeHtml(getString("label.position.short"))).append(" #").append(position.getNumber()); heading.append(": ").append(CurrencyFormatter.format(position.getNetSum())); if (StringHelper.isNotBlank(position.getText()) == true) { heading.append(" ").append(StringUtils.abbreviate(position.getText(), 80)); } return heading.toString(); }
/** */ @Override protected void onToggleStatusChanged(final AjaxRequestTarget target, final ToggleStatus toggleStatus) { if (toggleStatus == ToggleStatus.OPENED) { data.getUiStatus().openPosition(position.getNumber()); } else { data.getUiStatus().closePosition(position.getNumber()); } setHeading(getPositionHeading(position, this)); } };
@Override public final void onSubmit() { final T position = newPositionInstance(); data.addPosition(position); if (position.getNumber() > 1) { final T predecessor = data.getPosition(position.getNumber() - 2); if (predecessor != null) { position.setVat(predecessor.getVat()); // Preset the vat from the predecessor position. } } refreshPositions(); } };
positionsPanel.getContainer().setOutputMarkupId(true); positionsRepeater.add(positionsPanel); if (data.getUiStatus().isClosed(position.getNumber()) == true) { positionsPanel.setClosed(); } else {