Exemplo n.º 1
0
        private MedalDetail BuildNewCharecteristics(MedalCalculations medal)
        {
            var detail = new MedalDetail {
                Score = BuildNewScore(medal),
                MedalCharacteristics = new List <MedalCharacteristic>()
            };

            DateTime?businessSeniority    = medal.BusinessSeniority;
            string   businessSeniorityStr = businessSeniority.HasValue ? businessSeniority.Value.ToString("yyyy-MM-dd") : null;

            DateTime?regDate           = medal.EzbobSeniority;
            string   ezbobSeniorityStr = regDate.HasValue ? regDate.Value.ToString("yyyy-MM-dd") : null;

            detail.MedalCharacteristics.Add(new MedalCharacteristic {
                CustomerCharacteristic = "Business Score", Value = medal.BusinessScore.ToString("N0"), WeightUsed = medal.BusinessScoreWeight, Score = medal.BusinessScoreScore, Grade = (int)medal.BusinessScoreGrade
            });
            detail.MedalCharacteristics.Add(new MedalCharacteristic {
                CustomerCharacteristic = "Free Cash Flow", Value = medal.FreeCashFlow.ToString("N2"), WeightUsed = medal.FreeCashFlowWeight, Score = medal.FreeCashFlowScore, Grade = (int)medal.FreeCashFlowGrade
            });
            detail.MedalCharacteristics.Add(new MedalCharacteristic {
                CustomerCharacteristic = "Annual Turnover", Value = medal.AnnualTurnover.ToString("N2"), WeightUsed = medal.AnnualTurnoverWeight, Score = medal.AnnualTurnoverScore, Grade = (int)medal.AnnualTurnoverGrade
            });
            detail.MedalCharacteristics.Add(new MedalCharacteristic {
                CustomerCharacteristic = "Tangible Equity", Value = medal.TangibleEquity.ToString("N2"), WeightUsed = medal.TangibleEquityWeight, Score = medal.TangibleEquityScore, Grade = (int)medal.TangibleEquityGrade
            });
            detail.MedalCharacteristics.Add(new MedalCharacteristic {
                CustomerCharacteristic = "Business Seniority", Value = businessSeniorityStr, WeightUsed = medal.BusinessSeniorityWeight, Score = medal.BusinessSeniorityScore, Grade = (int)medal.BusinessSeniorityGrade
            });
            detail.MedalCharacteristics.Add(new MedalCharacteristic {
                CustomerCharacteristic = "Consumer Score", Value = medal.ConsumerScore.ToString("N0"), WeightUsed = medal.ConsumerScoreWeight, Score = medal.ConsumerScoreScore, Grade = (int)medal.ConsumerScoreGrade
            });
            detail.MedalCharacteristics.Add(new MedalCharacteristic {
                CustomerCharacteristic = "Net Worth", Value = medal.NetWorth.ToString("N2"), WeightUsed = medal.NetWorthWeight, Score = medal.NetWorthScore, Grade = (int)medal.NetWorthGrade
            });
            detail.MedalCharacteristics.Add(new MedalCharacteristic {
                CustomerCharacteristic = "Marital Status", Value = medal.MaritalStatus, WeightUsed = medal.MaritalStatusWeight, Score = medal.MaritalStatusScore, Grade = (int)medal.MaritalStatusGrade
            });
            detail.MedalCharacteristics.Add(new MedalCharacteristic {
                CustomerCharacteristic = "Num Of Loans", Value = medal.NumOfLoans.ToString("N0"), WeightUsed = medal.NumOfLoansWeight, Score = medal.NumOfLoansScore, Grade = (int)medal.NumOfLoansGrade
            });
            detail.MedalCharacteristics.Add(new MedalCharacteristic {
                CustomerCharacteristic = "Num Of Early Repayments", Value = medal.NumOfEarlyRepayments.ToString("N0"), WeightUsed = medal.NumOfEarlyRepaymentsWeight, Score = medal.NumOfEarlyRepaymentsScore, Grade = (int)medal.NumOfEarlyRepaymentsGrade
            });
            detail.MedalCharacteristics.Add(new MedalCharacteristic {
                CustomerCharacteristic = "Num Of Late Repayments", Value = medal.NumOfLateRepayments.ToString("N0"), WeightUsed = medal.NumOfLateRepaymentsWeight, Score = medal.NumOfLateRepaymentsScore, Grade = (int)medal.NumOfLateRepaymentsGrade
            });
            detail.MedalCharacteristics.Add(new MedalCharacteristic {
                CustomerCharacteristic = "Num Of Stores", Value = medal.NumberOfStores.ToString("N0"), WeightUsed = medal.NumberOfStoresWeight, Score = medal.NumberOfStoresScore, Grade = (int)medal.NumberOfStoresGrade
            });
            detail.MedalCharacteristics.Add(new MedalCharacteristic {
                CustomerCharacteristic = "Positive Feedbacks", Value = medal.PositiveFeedbacks.ToString("N0"), WeightUsed = medal.PositiveFeedbacksWeight, Score = medal.PositiveFeedbacksScore, Grade = (int)medal.PositiveFeedbacksGrade
            });
            detail.MedalCharacteristics.Add(new MedalCharacteristic {
                CustomerCharacteristic = "Ezbob Seniority", Value = ezbobSeniorityStr, WeightUsed = medal.EzbobSeniorityWeight, Score = medal.EzbobSeniorityScore, Grade = (int)medal.EzbobSeniorityGrade
            });

            GetTotal(detail);

            return(detail);
        }
Exemplo n.º 2
0
        private MedalDetail BuildCharecteristic(ScoringResult scoringResult)
        {
            var medalDetail = new MedalDetail();

            string[] splitACDescription = scoringResult.ACDescription.Split(';');
            string[] splitWeight        = scoringResult.Weights.Split(';');
            string[] splitACParameters  = scoringResult.ACParameters.Split(';');
            string[] splitMaxPoss       = scoringResult.MAXPossiblePoints.Split(';');

            const string pattern = @"([0-9]*\.[0-9]+|[0-9]+)";
            var          regex   = new Regex(pattern);

            medalDetail.MedalCharacteristics = new List <MedalCharacteristic>();
            for (var i = 0; i <= splitACDescription.Length - 1; i++)
            {
                medalDetail.MedalCharacteristics.Add(new MedalCharacteristic
                {
                    CustomerCharacteristic = splitACDescription[i],
                    WeightUsed             = Convert.ToDecimal(splitWeight[i], CultureInfo.InvariantCulture),
                    ACParameters           = Convert.ToDecimal(regex.Match(splitACParameters[i]).ToString(), CultureInfo.InvariantCulture),
                    MaxPoss = Convert.ToDecimal(splitMaxPoss[i], CultureInfo.InvariantCulture)
                });
            }

            medalDetail.Score = BuildScore(scoringResult);
            GetTotal(medalDetail);

            return(medalDetail);
        }
Exemplo n.º 3
0
 private void GetTotal(MedalDetail detail)
 {
     detail.TotalACParameters          = detail.MedalCharacteristics.Sum(m => m.ACParameters);
     detail.TotalMaxPoss               = detail.MedalCharacteristics.Sum(m => m.MaxPoss);
     detail.TotalWeightUsed            = detail.MedalCharacteristics.Sum(m => m.WeightUsed);
     detail.TotalPointsObtainedPercent = detail.TotalMaxPoss == 0 ? 0 : Math.Round((detail.TotalACParameters / detail.TotalMaxPoss * 100), 1);
     detail.TotalGrade = detail.MedalCharacteristics.Sum(x => x.Grade);
     detail.TotalScore = detail.MedalCharacteristics.Sum(x => x.Score);
 }