/** * This file is generated by the SwaggerTSGenerator. * Do not edit. */ /* tslint:disable */ import { BaseModel } from './base-model'; import { SubTypeFactory } from './sub-type-factory'; import { IPremium, Premium } from './premium.model'; import { IMoney, Money } from './money.model'; import { PremiumRateBase } from './enums'; export interface IRateBasedPremium extends IPremium{ estimate?: boolean; rate?: string; estimatedAmount?: IMoney; estimatedAnnualisedAmount?: IMoney; minimumAmount?: IMoney; minimumRate?: string; depositAmount?: IMoney; depositRate?: string; rateBase?: PremiumRateBase; } export class RateBasedPremium extends Premium implements IRateBasedPremium { static TYPE_SELECTOR = 'RateBasedPremium'; static ESTIMATE_FIELD_NAME = 'estimate'; static RATE_FIELD_NAME = 'rate'; static ESTIMATED_AMOUNT_FIELD_NAME = 'estimatedAmount'; static ESTIMATED_ANNUALISED_AMOUNT_FIELD_NAME = 'estimatedAnnualisedAmount'; static MINIMUM_AMOUNT_FIELD_NAME = 'minimumAmount'; static MINIMUM_RATE_FIELD_NAME = 'minimumRate'; static DEPOSIT_AMOUNT_FIELD_NAME = 'depositAmount'; static DEPOSIT_RATE_FIELD_NAME = 'depositRate'; static RATE_BASE_FIELD_NAME = 'rateBase'; estimate: boolean; rate: string; estimatedAmount: Money; estimatedAnnualisedAmount: Money; minimumAmount: Money; minimumRate: string; depositAmount: Money; depositRate: string; rateBase: PremiumRateBase; /** * constructor * @param values Can be used to set a webapi response or formValues to this newly constructed model */ constructor(values?: Partial) { super(); this.typeSelector = RateBasedPremium.TYPE_SELECTOR; this.estimatedAmount = new Money(); this.estimatedAnnualisedAmount = new Money(); this.minimumAmount = new Money(); this.depositAmount = 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.estimate = this.getValue(rawValues, RateBasedPremium.ESTIMATE_FIELD_NAME); this.rate = this.getValue(rawValues, RateBasedPremium.RATE_FIELD_NAME); this.estimatedAmount.setValues(rawValues.estimatedAmount); this.estimatedAnnualisedAmount.setValues(rawValues.estimatedAnnualisedAmount); this.minimumAmount.setValues(rawValues.minimumAmount); this.minimumRate = this.getValue(rawValues, RateBasedPremium.MINIMUM_RATE_FIELD_NAME); this.depositAmount.setValues(rawValues.depositAmount); this.depositRate = this.getValue(rawValues, RateBasedPremium.DEPOSIT_RATE_FIELD_NAME); this.rateBase = this.getValue(rawValues, RateBasedPremium.RATE_BASE_FIELD_NAME); } } }