export function maxPayment()

in src/app/customers/cases/form/detail/validator/max-term.validators.ts [56:82]


export function maxPayment(): ValidatorFn {
  return (group: FormGroup): ValidationErrors | null => {
    const term: number = parseInt(group.get('term').value, 10);
    const termTemporalUnit = group.get('termTemporalUnit').value;

    const paymentPeriod: number = parseInt(group.get('paymentPeriod').value, 10);
    const paymentTemporalUnit = group.get('paymentTemporalUnit').value;

    if (isEmptyInputValue(term) || isEmptyInputValue(paymentPeriod)) {
      return null;
    }

    const maxValues = getMaxValues(termTemporalUnit, term);

    if (!isValid(paymentPeriod, paymentTemporalUnit, maxValues)) {
      return {
        maxPayment: {
          maxWeeks: maxValues.maxWeeks,
          maxMonths: maxValues.maxMonths,
          maxYears: maxValues.maxYears
        },
      };
    }

    return null;
  };
}