public double CalculateOwnerRelatedRisksAndBonuses(InfoForInsurance info, Insurer insurer, double tariffNumber, Models.Models.InsurerRiskOrBonus irb, RiskOrBonus currentRisk) { switch (currentRisk.Nomenclature) { case "Owner age between 18 and 25": if (info.OwnerAge >= 18 && info.OwnerAge <= 25) { tariffNumber += irb.TariffNumberChange; } break; case "Owner age between 26 and 50": if (info.OwnerAge >= 26 && info.OwnerAge <= 50) { tariffNumber += irb.TariffNumberChange; } break; case "Owner age over 50": if (info.OwnerAge > 50) { tariffNumber += irb.TariffNumberChange; } break; case "New Customer": if (info.CarInsurerId != insurer.Id) { tariffNumber += irb.TariffNumberChange; } break; case "Customer has MTPL": if (info.MTPLInsurerId == insurer.Id) { tariffNumber += irb.TariffNumberChange; } break; case "Customer has car insurance": if (info.CarInsurerId == insurer.Id) { tariffNumber += irb.TariffNumberChange; } break; } return(tariffNumber); }
public double CalculateMVrelatedRisksAndBonuses(InfoForInsurance info, CarModel carModel, double tariffNumber, Models.Models.InsurerRiskOrBonus irb, RiskOrBonus currentRisk) { switch (currentRisk.Nomenclature) { case "Car model is Special": if (carModel.SpecialModel) { tariffNumber += irb.TariffNumberChange; } break; case "Car age less than a year": if (info.NewImport) { tariffNumber += irb.TariffNumberChange; } break; case "Car age between 1 and 4 years": if (info.CarAge >= 1 && info.CarAge <= 4) { tariffNumber += irb.TariffNumberChange; } break; case "Car age between 5 and 7 years": if (info.CarAge >= 5 && info.CarAge <= 7) { tariffNumber += irb.TariffNumberChange; } break; case "Car age between 8 and 10 years": if (info.CarAge >= 8 && info.CarAge <= 10) { tariffNumber += irb.TariffNumberChange; } break; case "Car age over 10 years": if (info.CarAge > 10) { tariffNumber += irb.TariffNumberChange; } break; case "Car is new import": if (info.NewImport) { tariffNumber += irb.TariffNumberChange; } break; case "Car has right-side wheel": if (info.RightSideWheel) { tariffNumber += irb.TariffNumberChange; } break; case "Car horsepower is over 200": if (carModel.Horsepower >= 200) { tariffNumber += irb.TariffNumberChange; } break; } return(tariffNumber); }
public double CalculateOtherRisksAndBonuses(NumberOfPayments numberOfPayments, double tariffNumber, Models.Models.InsurerRiskOrBonus irb, RiskOrBonus currentRisk, Region region) { switch (currentRisk.Nomenclature) { case "One time payment": if (numberOfPayments == NumberOfPayments.One) { tariffNumber += irb.TariffNumberChange; } break; case "Car is registered in Sofia": if (region.Name == "Sofia") { tariffNumber += irb.TariffNumberChange; } break; } return(tariffNumber); }