public PropertySuitabilityParameters() { Defensive = new PParameter { ScoreRanking = 2, AbilityToPayAboveCurrentInterestRate = 0.07, CurrentAverageAgeOfClient = 25, PropertyLeverage = 0.2, YearsToRetirement = 40 }; Conservative = new PParameter { ScoreRanking = 4, PropertyLeverage = 0.3, AbilityToPayAboveCurrentInterestRate = 0.06, CurrentAverageAgeOfClient = 35, YearsToRetirement = 30 }; Balance = new PParameter { ScoreRanking = 6, PropertyLeverage = 0.4, AbilityToPayAboveCurrentInterestRate = 0.05, CurrentAverageAgeOfClient = 45, YearsToRetirement = 20 }; Assertive = new PParameter { ScoreRanking = 8, PropertyLeverage = 0.5, AbilityToPayAboveCurrentInterestRate = 0.04, CurrentAverageAgeOfClient = 55, YearsToRetirement = 10 }; Aggressive = new PParameter { ScoreRanking = 10, PropertyLeverage = 0.6, AbilityToPayAboveCurrentInterestRate = 0.03, CurrentAverageAgeOfClient = 65, YearsToRetirement = 0 }; MaxScore = new PParameter { ScoreRanking = 100, PropertyLeverage = 50, AbilityToPayAboveCurrentInterestRate = 50, CurrentAverageAgeOfClient = 10, YearsToRetirement = 10 }; }
public AssetSuitability GetRating() { var table = new PropertySuitabilityParameters(); var score = new PParameter(); SetClientAverageAgeScore(table, score); SetYearsToRetirementScore(table, score); SetPropertyLeverageScore(table, score); SetAbilityToPayInterestScore(table, score); score.Total = (score.CurrentAverageAgeOfClient + score.YearsToRetirement + score.PropertyLeverage + score.AbilityToPayAboveCurrentInterestRate) * 2.5; return(new AssetSuitability { F1Parameters = score, SuitabilityRating = GetRatingScore(score.Total * 2), TotalScore = score.Total * 2, F0Parameters = score }); }
private void SetPropertyLeverageScore(PropertySuitabilityParameters table, PParameter f0Score) { if (PropertyLeverage <= table.Defensive.PropertyLeverage) { f0Score.PropertyLeverage = table.Defensive.ScoreRanking; } else if (PropertyLeverage <= table.Conservative.PropertyLeverage) { f0Score.PropertyLeverage = table.Conservative.ScoreRanking; } else if (PropertyLeverage <= table.Balance.PropertyLeverage) { f0Score.PropertyLeverage = table.Balance.ScoreRanking; } else if (PropertyLeverage <= table.Assertive.PropertyLeverage) { f0Score.PropertyLeverage = table.Assertive.ScoreRanking; } else { f0Score.PropertyLeverage = table.Aggressive.ScoreRanking; } }
private void SetYearsToRetirementScore(PropertySuitabilityParameters table, PParameter f0Score) { if (YearsToRetirement >= table.Defensive.YearsToRetirement) { f0Score.YearsToRetirement = table.Defensive.ScoreRanking; } else if (YearsToRetirement >= table.Conservative.YearsToRetirement) { f0Score.YearsToRetirement = table.Conservative.ScoreRanking; } else if (YearsToRetirement >= table.Balance.YearsToRetirement) { f0Score.YearsToRetirement = table.Balance.ScoreRanking; } else if (YearsToRetirement >= table.Assertive.YearsToRetirement) { f0Score.YearsToRetirement = table.Assertive.ScoreRanking; } else { f0Score.YearsToRetirement = table.Aggressive.ScoreRanking; } }
private void SetClientAverageAgeScore(PropertySuitabilityParameters table, PParameter f0Score) { if (ClientAverageAge <= table.Defensive.CurrentAverageAgeOfClient) { f0Score.CurrentAverageAgeOfClient = table.Defensive.ScoreRanking; } else if (ClientAverageAge <= table.Conservative.CurrentAverageAgeOfClient) { f0Score.CurrentAverageAgeOfClient = table.Conservative.ScoreRanking; } else if (ClientAverageAge <= table.Balance.CurrentAverageAgeOfClient) { f0Score.CurrentAverageAgeOfClient = table.Balance.ScoreRanking; } else if (ClientAverageAge <= table.Assertive.CurrentAverageAgeOfClient) { f0Score.CurrentAverageAgeOfClient = table.Assertive.ScoreRanking; } else { f0Score.CurrentAverageAgeOfClient = table.Aggressive.ScoreRanking; } }
private void SetAbilityToPayInterestScore(PropertySuitabilityParameters table, PParameter f0Score) { if (AbilityToPayAboveCurrentInterestRate >= table.Defensive.AbilityToPayAboveCurrentInterestRate) { f0Score.AbilityToPayAboveCurrentInterestRate = table.Defensive.ScoreRanking; } else if (AbilityToPayAboveCurrentInterestRate >= table.Conservative.AbilityToPayAboveCurrentInterestRate) { f0Score.AbilityToPayAboveCurrentInterestRate = table.Conservative.ScoreRanking; } else if (AbilityToPayAboveCurrentInterestRate >= table.Balance.AbilityToPayAboveCurrentInterestRate) { f0Score.AbilityToPayAboveCurrentInterestRate = table.Balance.ScoreRanking; } else if (AbilityToPayAboveCurrentInterestRate >= table.Assertive.AbilityToPayAboveCurrentInterestRate) { f0Score.AbilityToPayAboveCurrentInterestRate = table.Assertive.ScoreRanking; } else { f0Score.AbilityToPayAboveCurrentInterestRate = table.Aggressive.ScoreRanking; } }
public AssetSuitability GetRating() { var table = new PropertySuitabilityParameters(); var score = new PParameter(); SetClientAverageAgeScore(table, score); SetYearsToRetirementScore(table, score); SetPropertyLeverageScore(table, score); SetAbilityToPayInterestScore(table, score); score.Total = (score.CurrentAverageAgeOfClient + score.YearsToRetirement + score.PropertyLeverage + score.AbilityToPayAboveCurrentInterestRate)*2.5; return new AssetSuitability { F1Parameters = score, SuitabilityRating = GetRatingScore(score.Total*2), TotalScore = score.Total*2, F0Parameters = score }; }
internal override void RemoveChild(Node child) { if ( _parameter_ == child ) { _parameter_ = null; return; } }
public AAParameterlist( PParameter _parameter_ ) { SetParameter (_parameter_); }
public ABParameterlist( PParameterlist _parameterlist_, TOperatorComma _operator_comma_, PParameter _parameter_ ) { SetParameterlist (_parameterlist_); SetOperatorComma (_operator_comma_); SetParameter (_parameter_); }
internal override void RemoveChild(Node child) { if ( _parameterlist_ == child ) { _parameterlist_ = null; return; } if ( _operator_comma_ == child ) { _operator_comma_ = null; return; } if ( _parameter_ == child ) { _parameter_ = null; return; } }
public void SetParameter(PParameter node) { if(_parameter_ != null) { _parameter_.Parent(null); } if(node != null) { if(node.Parent() != null) { node.Parent().RemoveChild(node); } node.Parent(this); } _parameter_ = node; }