private Loan(CapitalStrategy capitalStrategy, double commitment, double outstanding, int riskRating, DateTime maturity, DateTime expiry) { this.commitment = commitment; this.outstanding = outstanding; this.riskRating = riskRating; this.maturity = maturity; this.expiry = expiry; this.capitalStrategy = capitalStrategy; if (capitalStrategy == null) { if (expiry == NO_DATE) { this.capitalStrategy = new CapitalStrategyTermLoan(); } else if (maturity == NO_DATE) { this.capitalStrategy = new CapitalStrategyRevolver(); } else { this.capitalStrategy = new CapitalStrategyRCTL(); } } }
public static Loan CreateTermLoan(CapitalStrategy strategy, double commitment, int riskRating, DateTime maturity) { return(new Loan(strategy, commitment, 0.00, riskRating, maturity, NO_DATE)); }
public void SetStrategy(CapitalStrategy strategy) { this.capitalStrategy = strategy; }