示例#1
0
 // GET: Admin
 public ActionResult Index()
 {
     using (CarInsuranceQuotesEntities db = new CarInsuranceQuotesEntities())
     {
         var quotes   = db.InsuranceQuoteCustomers;
         var quoteVms = new List <CarInsuranceVm>();
         foreach (var quote in quotes)
         {
             var CarInsuranceVm = new CarInsuranceVm();
             CarInsuranceVm.Id           = quote.Id;
             CarInsuranceVm.FirstName    = quote.FirstName;
             CarInsuranceVm.LastName     = quote.LastName;
             CarInsuranceVm.EmailAddress = quote.EmailAddress;
             CarInsuranceVm.FinalQuote   = (int)quote.FinalQuote;
             quoteVms.Add(CarInsuranceVm);
         }
         return(View(quoteVms));
     }
 }
示例#2
0
        public ActionResult InsuranceQuoteCustomer(string firstName, string lastName, string emailAddress, DateTime dateOfBirth, int?carYear, string carMake,
                                                   string carModel, bool everDUI, int?speedingTickets, string fullCoverageOrLiability, int finalQuote = 0)
        {
            if (string.IsNullOrEmpty(firstName) || string.IsNullOrEmpty(lastName) || string.IsNullOrEmpty(emailAddress) ||
                dateOfBirth == null || (carYear ?? 0) == 0 || string.IsNullOrEmpty(carMake) || string.IsNullOrEmpty(carModel) ||
                everDUI.ToString() == null || string.IsNullOrEmpty(fullCoverageOrLiability) || speedingTickets == null)
            {
                return(View("~/Views/Shared/Error.cshtml"));
            }
            else
            {
                using (CarInsuranceQuotesEntities carQuoteDb = new CarInsuranceQuotesEntities())
                {
                    var carQuote = new InsuranceQuoteCustomer();
                    carQuote.FirstName               = firstName;
                    carQuote.LastName                = lastName;
                    carQuote.EmailAddress            = emailAddress;
                    carQuote.DateOfBirth             = dateOfBirth;
                    carQuote.CarYear                 = carYear;
                    carQuote.CarMake                 = carMake;
                    carQuote.CarModel                = carModel;
                    carQuote.EverDUI                 = everDUI;
                    carQuote.SpeedingTickets         = speedingTickets;
                    carQuote.FullCoverageOrLiability = fullCoverageOrLiability;
                    carQuote.FinalQuote              = finalQuote;

                    decimal baseQuote = 50m;

                    int speedingPenalty = (int)speedingTickets * 10;
                    baseQuote += speedingPenalty;

                    var today = DateTime.Today;
                    var age   = today.Year - dateOfBirth.Year;

                    string coverage = fullCoverageOrLiability.ToLower();
                    string make     = carMake.ToLower();
                    string model    = carModel.ToLower();

                    if (age < 25 || age > 100 || carYear < 2000 || carYear >= 2015)
                    {
                        baseQuote += 25;
                    }
                    if (age < 18)
                    {
                        baseQuote += 100;
                    }
                    if (make == "porsche")
                    {
                        baseQuote += 25;
                    }
                    if (make == "Porsche" && model == "911 Carrera")
                    {
                        baseQuote += 25;
                    }
                    if (everDUI == true)
                    {
                        baseQuote *= 1.25m;
                    }
                    if (fullCoverageOrLiability == "full" || fullCoverageOrLiability == "full coverage")
                    {
                        baseQuote *= 1.5m;
                    }
                    carQuote.FinalQuote = (int)baseQuote;
                    carQuoteDb.InsuranceQuoteCustomers.Add(carQuote);
                    CarInsuranceVm CarVm = new CarInsuranceVm();
                    CarVm.FinalQuote = (int)baseQuote;
                    carQuoteDb.SaveChanges();
                    return(View("SuccessQuote"));
                }
            }
        }