public IHttpActionResult PostInsuranceRegistration(InsuranceApp regfom) { tblInsurance tblInsurance = new tblInsurance(); tblInsurance.Season = regfom.Season; tblInsurance.Area = regfom.Area; tblInsurance.FarmerId = Convert.ToInt32(regfom.Farmerid); tblInsurance.CompanyName = regfom.CompanyName; tblInsurance.SumInsured = regfom.SumAssured; tblInsurance.Year = regfom.Year; tblInsurance.DateOfInsurance = DateTime.Today; tblInsurance.Crop = regfom.CropName; db.tblInsurances.Add(tblInsurance); db.SaveChanges(); return(Ok("OK")); }
public ActionResult Create(InsuranceApp obj) { String errorString = checkDrivers(obj.DriverDetails); if (String.IsNullOrEmpty(errorString)) { if (obj.PolStartDate == null) { errorString = "Policy Start date incorrect."; goto failed; } else if (obj.PolStartDate < DateTime.Now.Date) { errorString = "Start Date of Policy."; goto failed; } TempData["insuranceClaim"] = obj; return(RedirectToAction("CalcResult")); } failed: ModelState.AddModelError("TestError", errorString); return(View(obj)); }
public ActionResult CalcResult() { InsuranceApp obj = (InsuranceApp)TempData["insuranceClaim"]; if (obj != null) { double premimumPrice = 500; int ageOfYoungest = 1000; bool chauDriver = false; bool countDriver = false; int polClaims = 0; bool declined = false; int countNumDrivers = 0; foreach (InsuranceApp.Driver carDriver in obj.DriverDetails) { if (!String.IsNullOrEmpty(carDriver.Name)) { int driverClaims = 0; countNumDrivers++; if (CalculateAge(carDriver.DOB) < 21 || CalculateAge(carDriver.DOB) > 75) { ModelState.AddModelError("TestError", "Age of " + (CalculateAge(carDriver.DOB) < 21 ? "Youngest" : "Oldest") + " Driver."); declined = true; } if ((String.Compare(carDriver.Occupation, "Chauffer") == 0) && (chauDriver == false)) { premimumPrice *= 1.1; chauDriver = true; } if ((String.Compare(carDriver.Occupation, "Accountant") == 0) && (countDriver == false)) { premimumPrice *= 0.9; countDriver = true; } if (CalculateAge(carDriver.DOB) < ageOfYoungest) { ageOfYoungest = CalculateAge(carDriver.DOB); } foreach (InsuranceApp.Driver.DateTimeWrapper claimDate in carDriver.Claims) { if (claimDate.ClaimDate != null) { polClaims++; if (polClaims > 3) { ModelState.AddModelError("TestError", "Policy has more than 3 claims."); declined = true; } driverClaims++; if (driverClaims > 2) { ModelState.AddModelError("TestError", "Driver " + carDriver.Name + " has more than 2 claims."); declined = true; } if ((claimDate.ClaimDate - obj.PolStartDate) < new TimeSpan(365, 0, 0, 0, 0)) { premimumPrice *= 1.2; } if (((claimDate.ClaimDate - obj.PolStartDate) < new TimeSpan((365 * 5), 0, 0, 0, 0)) && ((claimDate.ClaimDate - obj.PolStartDate) >= new TimeSpan((365 * 2), 0, 0, 0, 0))) { premimumPrice *= 1.1; } } } if (ageOfYoungest >= 21 && ageOfYoungest <= 25) { premimumPrice *= 1.2; } if (ageOfYoungest >= 26 && ageOfYoungest <= 75) { premimumPrice *= 0.9; } } } obj.PremimumPrice = ((declined == true) ? 0 : premimumPrice); ViewBag.TotalDrivers = countNumDrivers; return(View(obj)); } obj = new InsuranceApp(); obj.PremimumPrice = 0; return(View(obj)); }