validator(entity, this::validateHumanId, "A 'Sorszám' kitöltése kötelező."),
validator(entity.getCurrency(), this::validateNotNull, "A 'Pénznem' kitöltése kötelező."),
validator(entity, this::validatePaymentAmounts, "A 'Nettó összeg' értéke nem lehet nagyobb a 'Bruttó összeg' értékénél."),
+ validator(entity, this::validateNegativePaymentAmounts, "A storno 'Bruttó összeg' értéke nem lehet nagyobb a 'Nettó összeg' értékénél."),
// validator(entity.getNetAmount(), this::validateDouble, "A 'Nettó összeg' kitöltése kötelező."),
// validator(entity.getGrossAmount(), this::validateDouble, "A 'Bruttó összeg' kitöltése kötelező."),
// validator(entity.getVatAmount(), this::validateDouble, "Az 'ÁFA' kitöltése kötelező."),
};
}
+ private boolean validateNegativePaymentAmounts(Object data) {
+ if (data instanceof Invoice) {
+ Invoice entity = (Invoice) data;
+ if (entity.getNetAmount() < 0) {
+ return entity.getGrossAmount() <= entity.getNetAmount();
+ }
+ }
+ return true;
+ }
+
private boolean validatePaymentAmounts(Object data) {
if (data instanceof Invoice) {
Invoice entity = (Invoice) data;
- return entity.getNetAmount() <= entity.getGrossAmount();
+ if (entity.getNetAmount() > 0) {
+ return entity.getNetAmount() <= entity.getGrossAmount();
+ }
}
- return false;
+ return true;
}
private boolean validateCreateAndPaymentDates(Object data) {