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 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 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;
     }
 }
 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;
     }
 }
        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
            };
        }