/** * This file is generated by the SwaggerTSGenerator. * Do not edit. */ /* tslint:disable */ import { BaseModel } from './base-model'; import { SubTypeFactory } from './sub-type-factory'; import { ICommission, Commission } from './commission.model'; import { IMoney, Money } from './money.model'; import { CommissionRateBase } from './enums'; export interface IRateBasedCommission extends ICommission{ rate?: string; estimatedAmount?: IMoney; estimatedAnnualisedAmount?: IMoney; rateBase?: CommissionRateBase; } export class RateBasedCommission extends Commission implements IRateBasedCommission { static TYPE_SELECTOR = 'RateBasedCommission'; static RATE_FIELD_NAME = 'rate'; static ESTIMATED_AMOUNT_FIELD_NAME = 'estimatedAmount'; static ESTIMATED_ANNUALISED_AMOUNT_FIELD_NAME = 'estimatedAnnualisedAmount'; static RATE_BASE_FIELD_NAME = 'rateBase'; rate: string; estimatedAmount: Money; estimatedAnnualisedAmount: Money; rateBase: CommissionRateBase; /** * constructor * @param values Can be used to set a webapi response or formValues to this newly constructed model */ constructor(values?: Partial) { super(); this.typeSelector = RateBasedCommission.TYPE_SELECTOR; this.estimatedAmount = new Money(); this.estimatedAnnualisedAmount = new Money(); if (values) { this.setValues(values); } } /** * set the values. * @param values Can be used to set a webapi response to this newly constructed model */ setValues(values: Partial): void { if (values) { super.setValues(values) const rawValues = values this.rate = this.getValue(rawValues, RateBasedCommission.RATE_FIELD_NAME); this.estimatedAmount.setValues(rawValues.estimatedAmount); this.estimatedAnnualisedAmount.setValues(rawValues.estimatedAnnualisedAmount); this.rateBase = this.getValue(rawValues, RateBasedCommission.RATE_BASE_FIELD_NAME); } } }