public ActionResult Calculator() { System.Diagnostics.Trace.TraceInformation("Calculator called..."); QuoteViewModel model = new QuoteViewModel(); PopulateViewModel(model, null); return View(model); }
private void PopulateViewModel(QuoteViewModel model, string makeId) { model.Makes = this.repository.GetMakes(); model.Models = this.repository.GetModels(makeId); model.BodyStyles = this.repository.GetBodyStyles(); model.BrakeTypes = this.repository.GetBrakeTypes(); model.SafetyEquipment = this.repository.GetSafetyEquipment(); model.AntiTheftDevices = this.repository.GetAntiTheftDevices(); model.YearList = Enumerable.Range(DateTime.Today.Year - AutoInsurance.MaximumVehicleAge + 1, AutoInsurance.MaximumVehicleAge); }
public ActionResult Calculator(QuoteViewModel model) { this.PopulateViewModel(model, model.MakeId); if (ModelState.IsValid) { decimal bookValue = this.repository.GetBookValue(model.MakeId, model.ModelId); decimal bodyStyleFactor = model.BodyStyles.Where(item => item.Id == model.BodyStyleId).FirstOrDefault().Value; decimal brakeTypeFactor = model.BrakeTypes.Where(item => item.Id == model.BrakeTypeId).FirstOrDefault().Value; decimal safetyEquipmentFactor = model.SafetyEquipment.Where(item => item.Id == model.SafetyEquipmentId).FirstOrDefault().Value; decimal antiTheftDeviceFactor = model.AntiTheftDevices.Where(item => item.Id == model.AntiTheftDeviceId).FirstOrDefault().Value; decimal premium = AutoInsurance.CalculatePremium(bookValue, model.ManufacturedYear, bodyStyleFactor, brakeTypeFactor, safetyEquipmentFactor, antiTheftDeviceFactor); model.MonthlyPremium = premium / 12; model.YearlyPremium = premium; } return this.View(model); }
public ActionResult Calculator() { QuoteViewModel model = new QuoteViewModel(); this.PopulateViewModel(model, null); return this.View(model); }