예제 #1
0
        public ActionResult Edit([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Insuree insuree)
        {
            if (ModelState.IsValid)
            {
                DateTime now    = DateTime.Now;
                TimeSpan diff   = now - insuree.DateOfBirth;
                int      answer = Convert.ToInt32(diff.TotalDays);
                int      age    = answer / 365;
                Console.WriteLine(age);

                int start = 50;

                if (age < 25 && age > 18)
                {
                    start += 25;
                }
                else if (age < 18)
                {
                    start += 100;
                }
                else if (age > 100)
                {
                    start += 25;
                }
                if (insuree.CarYear < 2000)
                {
                    start += 25;
                }
                else if (insuree.CarYear > 2015)
                {
                    start += 25;
                }
                if (insuree.CarMake.ToLower() == "porsche")
                {
                    start += 25;
                }
                if (insuree.CarMake.ToLower() == "porsche" && insuree.CarModel.ToLower() == "911 carrera")
                {
                    start += 25;
                }
                start += insuree.SpeedingTickets * 10;

                double total = Convert.ToDouble(start);

                if (insuree.DUI)
                {
                    total *= 1.25;
                }
                if (insuree.CoverageType)
                {
                    total *= 1.50;
                }

                insuree.Quote           = Convert.ToDecimal(total);
                db.Entry(insuree).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(insuree));
        }
예제 #2
0
        public ActionResult Edit([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Insuree insuree)
        {
            if (ModelState.IsValid)
            {
                decimal quote     = 50;
                var     todayYear = DateTime.Now.Year;

                if (todayYear - insuree.DateOfBirth.Year < 18)
                {
                    quote = quote + 50;
                }
                if (todayYear - insuree.DateOfBirth.Year < 25)
                {
                    quote = quote + 50;
                }
                else if (todayYear - insuree.DateOfBirth.Year > 24)
                {
                    quote = quote + 25;
                }
                if (insuree.CarYear < 2000)
                {
                    quote += 25;
                }
                if (insuree.CarYear > 2015)
                {
                    quote += 25;
                }

                if (insuree.CarMake.ToLower().Contains("porsche"))
                {
                    quote += 25;
                    if (insuree.CarModel.ToLower().Contains("911 carerra"))
                    {
                        quote += 25;
                    }
                }

                if (insuree.SpeedingTickets > 0)
                {
                    quote = insuree.SpeedingTickets * 10 + quote;
                }

                if (insuree.DUI == true)
                {
                    quote = quote * .25M + quote;
                }

                if (insuree.CoverageType == true)
                {
                    quote = quote * .5M + quote;
                }
                insuree.Quote           = quote;
                db.Entry(insuree).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(insuree));
        }
예제 #3
0
        public ActionResult Edit([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Insuree insuree)
        {
            if (ModelState.IsValid)
            {
                var Age = DateTime.Now.Year - insuree.DateOfBirth.Year;

                int basic = 50;
                if (Age <= 18)
                {
                    basic += 100;
                }
                else if (Age > 19 && Age < 25)
                {
                    basic += 50;
                }

                else if (Age > 25)
                {
                    basic += 25;
                }

                if (insuree.CarYear < 2000)
                {
                }
                else if (insuree.CarYear > 2015)
                {
                    basic += 25;
                }

                if (insuree.CarMake.ToLower() == "porsche")
                {
                    basic += 25;
                }
                else if (insuree.CarMake.ToLower() == "porsche" && insuree.CarModel.ToLower() == "911 carrera")
                {
                    basic += 25;
                }

                if (insuree.SpeedingTickets > 0)
                {
                    basic += insuree.SpeedingTickets * 10;
                }
                if (insuree.DUI == true)
                {
                    insuree.Quote += insuree.Quote / 4;
                }
                if (insuree.CoverageType == true)
                {
                    insuree.Quote += insuree.Quote / 2;
                }

                db.Entry(insuree).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(insuree));
        }
예제 #4
0
 public ActionResult Edit([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Insuree insuree)
 {
     if (ModelState.IsValid)
     {
         db.Entry(insuree).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(insuree));
 }
예제 #5
0
 public ActionResult Edit([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,Tickets,Dui,Coverage,Quote")] Policy policy)
 {
     if (ModelState.IsValid)
     {
         db.Entry(policy).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(policy));
 }
 public ActionResult Edit([Bind(Include = "AutoQuoteId,InsureeId,BaseRate,AgeUnder18,AgeBtw19and25,Age26andUp,AutoYearBefore2000,AutoYearAfter2015,IsPorsche,IsCarrera,SubTotalBeforeDuiCalc,DuiRateUp25Percent,SubTotalAfterDuiCalc,SpeedingTickets,SubTotalBeforeCoverageCalc,FullCoverageRateUp50Percent,SubTotalAfterCoverageCalc,MonthlyQuoteRate,YearlyQuoteRate")] AutoQuote autoQuote)
 {
     if (ModelState.IsValid)
     {
         db.Entry(autoQuote).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(autoQuote));
 }
        public bool Update(T t, object key)
        {
            try
            {
                if (t == null)
                {
                    return(false);
                }
                T exist = context.Set <T>().Find(key);
                if (exist != null)
                {
                    context.Entry(exist).CurrentValues.SetValues(t);
                    context.SaveChanges();
                }
                return(true);
            }
            catch (DbEntityValidationException e)
            {
                string error = "";
                foreach (var eve in e.EntityValidationErrors)
                {
                    foreach (var ve in eve.ValidationErrors)
                    {
                        error += String.Format("- Property: \"{0}\", Value: \"{1}\", Error: \"{2}\"",
                                               ve.PropertyName,
                                               eve.Entry.CurrentValues.GetValue <object>(ve.PropertyName),
                                               ve.ErrorMessage) + "<br>";
                    }
                }

                Debug.WriteLine(e.Message + "\n" + error);
                return(false);
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message + "\n" + e.StackTrace);
            }
            return(true);
        }
예제 #8
0
 public ActionResult Edit([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,ConvergeType")] Table table)
 {
     if (ModelState.IsValid)
     {
         db.Entry(table).State = EntityState.Modified;
         db.SaveChanges();
     }
     if (ModelState.IsValid)
     {
         table.Quote = Convert.ToDecimal(QuoteGen(table.Id));
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(table));
 }
예제 #9
0
        public ActionResult EditDetails(UserView userView)
        {
            if (ModelState.IsValid)
            {
                User userUpdate = new User();
                userUpdate.UserId    = Convert.ToInt32(Session["UserId"]);
                userUpdate.Password  = Convert.ToBase64String(System.Security.Cryptography.SHA256.Create().ComputeHash(Encoding.UTF8.GetBytes(userView.Password)));
                userUpdate.FirstName = userView.FirstName;
                userUpdate.LastName  = userView.LastName;
                userUpdate.UserName  = userView.UserName;

                db.Entry(userUpdate).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
                ViewBag.successMsg = "Your details have been updated!";
                return(View());
            }
            else
            {
                ViewBag.errorMsg = "Username already exists";
                return(View(userView));
            }
        }
예제 #10
0
        public ActionResult Edit([Bind(Include = "Id,FirstName,LastName,EmailAddress," +
                                                 "DateOfBirh,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Insuree insuree)
        {
            if (ModelState.IsValid)
            {
                //recompute quote
                DateTime today = DateTime.Now;


                //Check if minor
                var MinorDate = today.AddYears(-18);

                //determine YoungerDriver lower and upper dates (ages of 19 to 25)
                var YoungDriverLower = today.AddYears(-25);
                var YoungDriverUpper = today.AddYears(-19);

                //set Base Quote = 50 + 10 * number of speeding tickets
                insuree.Quote = 50m + insuree.SpeedingTickets * 10;

                //add 100 to base quote if user is 18 yo or younger
                if (insuree.DateOfBirh >= MinorDate)
                {
                    insuree.Quote += 100;
                }
                //add 50 if user is between 19 and 25
                if (insuree.DateOfBirh >= YoungDriverLower && insuree.DateOfBirh <= YoungDriverUpper)
                {
                    insuree.Quote += 50;
                }
                //add 25 if user is over 25
                if (insuree.DateOfBirh < YoungDriverLower)
                {
                    insuree.Quote += 25;
                }

                //if car year older than 2000 or newer than 2015, add 25 to quote
                if (insuree.CarYear < 2000 || insuree.CarYear > 2015)
                {
                    insuree.Quote += 25;
                }
                //if the car make is a Porsche add 25 to quote
                if (insuree.CarMake == "Porsche")
                {
                    insuree.Quote += 25;
                }
                if (insuree.CarMake == "Porsche" && insuree.CarModel == "911 Carrera")
                {
                    insuree.Quote += 25;
                }


                //add 25% to the base quote for DUI
                if (insuree.DUI == true)
                {
                    insuree.Quote += insuree.Quote / 4;
                }

                //add 50% to the base quote for full coverage
                if (insuree.CoverageType == true)
                {
                    insuree.Quote += insuree.Quote / 2;
                }
                db.Entry(insuree).State = EntityState.Modified;

                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(insuree));
        }
        public ActionResult Edit([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Insuree insuree)
        {
            if (ModelState.IsValid)
            {
                var basequote = 50m;

                // Checking age.
                var age = DateTime.Now.Year - insuree.DateOfBirth.Year;
                if (age <= 18)
                {
                    basequote += 100m;
                }
                if (age >= 19 && age <= 25)
                {
                    basequote += 50m;
                }
                if (age > 25)
                {
                    basequote += 25m;
                }
                //Checking car year.
                if (insuree.CarYear < 2000)
                {
                    basequote += 25m;
                }
                if (insuree.CarYear > 2015)
                {
                    basequote += 25m;
                }
                //Checking car make.
                if (insuree.CarMake == "Porsche")
                {
                    basequote += 25m;
                }
                if (insuree.CarMake == "Porsche" && insuree.CarModel == "911 Carrera")
                {
                    basequote += 25m;
                }
                //Checking speeding tickets.
                if (insuree.SpeedingTickets > 0)
                {
                    var speedingtickets = Convert.ToDecimal(insuree.SpeedingTickets);
                    var cost            = 10m * speedingtickets;
                    basequote += cost;
                }
                //Checking DUI.
                if (insuree.DUI == true)
                {
                    var morecost = basequote * .25m;
                    basequote += morecost;
                }
                //Checking coverage.
                if (insuree.CoverageType == true)
                {
                    var evenmorecost = basequote * .50m;
                    basequote += evenmorecost;
                }
                insuree.Quote           = basequote;
                db.Entry(insuree).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(insuree));
        }
        public ActionResult Edit([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,FullCoverage,LiabilityCoverage,Quote")] Insuree insuree)
        {
            if (ModelState.IsValid)
            {
                //Set coverage type.
                if (insuree.FullCoverage == true)
                {
                    insuree.CoverageType = "Full";
                }
                else if (insuree.LiabilityCoverage == true)
                {
                    insuree.CoverageType = "Liability";
                }
                else
                {
                    insuree.CoverageType = "None";
                }
                //End set coverage type.

                //Quote calculation.
                if ((DateTime.Now.Year - insuree.DateOfBirth.Year) <= 18)
                {
                    insuree.Quote += 100;
                }
                else if ((DateTime.Now.Year - insuree.DateOfBirth.Year) > 18 && (DateTime.Now.Year - insuree.DateOfBirth.Year) <= 25)
                {
                    insuree.Quote += 50;
                }
                else if ((DateTime.Now.Year - insuree.DateOfBirth.Year) > 25)
                {
                    insuree.Quote += 25;
                }

                if (insuree.CarYear < 2000)
                {
                    insuree.Quote += 25;
                }
                else if (insuree.CarYear > 2015)
                {
                    insuree.Quote += 25;
                }

                if (insuree.CarMake.ToLower() == "porsche")
                {
                    insuree.Quote += 25;
                }

                if (insuree.CarMake.ToLower() == "porsche" && insuree.CarModel.ToLower() == "911 carrera")
                {
                    insuree.Quote += 25;
                }

                for (int i = 0; i < insuree.SpeedingTickets; i++)
                {
                    insuree.Quote += 10;
                }

                if (insuree.DUI == true)
                {
                    decimal dui = insuree.Quote / 4;
                    insuree.Quote += dui;
                }
                else if (insuree.DUI == true && insuree.FullCoverage == true)
                {
                    decimal dui  = insuree.Quote / 4;
                    decimal full = insuree.Quote / 2;
                    insuree.Quote += (dui + full);
                }
                else if (insuree.FullCoverage == true)
                {
                    decimal full = insuree.Quote / 2;
                    insuree.Quote += full;
                }
                //End quote calculation.

                db.Entry(insuree).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(insuree));
        }
예제 #13
0
        public ActionResult Edit([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Insuree insuree)
        {
            if (ModelState.IsValid)
            {
                DateTime today = DateTime.Today;
                int      age   = today.Year - insuree.DateOfBirth.Year;


                insuree.Quote = 50;

                if (age < 18)
                {
                    insuree.Quote += 100;
                }
                if (age >= 19 && age <= 25)
                {
                    insuree.Quote += 50;
                }
                if (age > 25)
                {
                    insuree.Quote += 25;
                }
                if (insuree.CarYear < 2000)
                {
                    insuree.Quote += 25;
                }
                if (insuree.CarYear < 2000)
                {
                    insuree.Quote += 25;
                }
                if (insuree.CarYear > 2015)
                {
                    insuree.Quote += 25;
                }
                if (insuree.CarMake == "Porsche")
                {
                    insuree.Quote += 25;
                }
                if (insuree.CarMake == "Porcsch" && insuree.CarModel == "911 Carrera")
                {
                    insuree.Quote += 25;
                }

                insuree.Quote += insuree.SpeedingTickets * 10;

                if (insuree.DUI == true)
                {
                    insuree.Quote += insuree.Quote * 0.25m;
                }

                if (insuree.CoverageType == true)
                {
                    insuree.Quote += insuree.Quote * 0.5m;
                }

                db.Entry(insuree).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(insuree));
        }