public int Add(T t)
        {
            try
            {
                context.Set <T>().Add(t);
                return(context.SaveChanges());
            }
            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(0);
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message + "\n" + e.StackTrace);
                return(0);
            }
        }
예제 #2
0
        public ActionResult Create([Bind(Include = "Id,FirstName,LastName,EmailAddress,CarYear,DateOfBirth,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Table table)
        {
            if (ModelState.IsValid)
            {
                decimal quote = 50.00m;

                TimeSpan lifeSpan = DateTime.Now - table.DateOfBirth;
                var      age      = lifeSpan.TotalDays / 365.2422;

                //Age related quote calculations
                if (age <= 18)
                {
                    quote += 100;
                }
                else if (age > 18 && age <= 25)
                {
                    quote += 50;
                }
                else
                {
                    quote += 50;
                }

                //Car related quote calculations
                if (table.CarYear < 2000 || table.CarYear > 2015)
                {
                    quote += 25;
                }

                if (table.CarMake == "Porsche" && table.CarModel == "911 Carrera")
                {
                    quote += 50;
                }
                else if (table.CarMake == "Porsche")
                {
                    quote += 25;
                }

                //Driving history quote calculations
                if (table.SpeedingTickets > 0)
                {
                    quote += (10 * table.SpeedingTickets);
                }
                if (table.DUI)
                {
                    quote *= 1.25m;
                }
                //Coverage Type
                if (table.CoverageType)
                {
                    quote *= 1.5m;
                }
                table.Quote = quote;
                db.Tables.Add(table);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(table));
        }
예제 #3
0
        private void AddQuoteAndCar(User user, string make, string model, int year, string coverage)
        {
            using (InsuranceEntities db = new InsuranceEntities())
            {
                //create car object
                var tempCar = new Car();
                tempCar.Make  = make.ToLower();
                tempCar.Model = model.ToLower();
                tempCar.Year  = year;

                //Calculate Points
                var Tickets     = db.Tickets;
                var userTickets = db.Tickets.Where(x => x.UserId == user.Id).ToList();
                int points      = userTickets.Count(x => (DateTime.Now - x.IssueDate).Days <= 1095);

                //find rate on car
                decimal rate = CalcCarQuote(user, tempCar, points, coverage);

                //create quote object and add to db
                var tempQuote = new Quote();
                tempQuote.Rate         = rate;
                tempQuote.CoverageType = coverage;
                tempQuote.IssueDate    = DateTime.Now;

                db.Quotes.Add(tempQuote);
                db.SaveChanges();

                //add foreign keys to car object and save car to db
                tempCar.UserId  = user.Id;
                tempCar.QuoteId = tempQuote.Id;

                db.Cars.Add(tempCar);
                db.SaveChanges();
            }
        }
예제 #4
0
        public ActionResult Create([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Insuree insuree)
        {
            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;

            if (ModelState.IsValid)
            {
                db.Insurees.Add(insuree);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(insuree));
        }
예제 #5
0
        public ActionResult Create([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Insuree insuree)
        {
            if (ModelState.IsValid)
            {
                // Quote Calculations
                insuree.Quote = 50;
                var today = DateTime.Today;
                var age   = today.Year - insuree.DateOfBirth.Year;

                if (age <= 18)
                {
                    insuree.Quote += 100;
                }
                else if (age > 25)
                {
                    insuree.Quote += 25;
                }
                else
                {
                    insuree.Quote += 50;
                }
                if (insuree.CarYear < 2000)
                {
                    insuree.Quote += 25;
                }
                else if (insuree.CarYear > 2015)
                {
                    insuree.Quote += 25;
                }
                if (insuree.CarMake == "Porshe")
                {
                    insuree.Quote += 25;
                    if (insuree.CarModel == "911 Carrera")
                    {
                        insuree.Quote += 25;
                    }
                }
                if (insuree.SpeedingTickets >= 1)
                {
                    var ticketsPenalty = insuree.SpeedingTickets * 10;
                    insuree.Quote += ticketsPenalty;
                }
                if (insuree.DUI)
                {
                    var duiPenalty = insuree.Quote * .25m;
                    insuree.Quote += duiPenalty;
                }
                if (insuree.CoverageType)
                {
                    var fullCoverage = insuree.Quote * .50m;
                    insuree.Quote += fullCoverage;
                }
                db.Insurees.Add(insuree);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(insuree));
        }
예제 #6
0
        public ActionResult Create([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Insuree insuree)
        {
            if (ModelState.IsValid)
            {
                //set up the variables
                int age = Convert.ToInt32(DateTime.Now.Year - insuree.DateOfBirth.Year);

                //base cost $50/month
                insuree.Quote = 50;
                if (age <= 18)
                {
                    insuree.Quote += 100;
                }
                else if (age >= 19 && age <= 25)
                {
                    insuree.Quote += 50;
                }
                else
                {
                    insuree.Quote += 25;
                }

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

                if (insuree.CarMake == "Porsche")
                {
                    insuree.Quote += 25;

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

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

                if (insuree.DUI)
                {
                    insuree.Quote *= 1.25m;
                }

                if (insuree.CoverageType)
                {
                    insuree.Quote *= 1.5m;
                }

                db.Insurees.Add(insuree);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(insuree));
        }
예제 #7
0
        public ActionResult Create([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Insuree insuree)
        {
            if (ModelState.IsValid)
            {
                insuree.Quote = 50;


                // DateTime dob = new DateTime(insuree.DateOfBirth.Year);

                int age = DateTime.Now.Year - insuree.DateOfBirth.Year;

                if (age < 25)
                {
                    insuree.Quote += 25;
                }
                if (age < 18)
                {
                    insuree.Quote += 75;
                }
                if (age > 100)
                {
                    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.CarModel == "911")
                {
                    insuree.Quote += 25;
                }
                insuree.Quote += insuree.SpeedingTickets * 10;
                if (insuree.DUI)
                {
                    insuree.Quote *= 1.25m;
                }
                if (insuree.CoverageType)
                {
                    insuree.Quote *= 1.5m;
                }

                Console.WriteLine("Insurance quote: " + insuree.Quote);


                db.Insurees.Add(insuree);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(insuree));
        }
예제 #8
0
        public ActionResult Create([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Table table)
        {
            if (ModelState.IsValid)
            {
                var AgeSum    = 0.00;
                var CarAgeSum = 0.00;
                var MakeSum   = 0.00;
                var ModelSum  = 0.00;
                var DuiSum    = 1.00;
                var CoverSum  = 1.00;

                if ((DateTime.Now - table.DateOfBirth).Hours < 166440)
                {
                    AgeSum = 100.00;
                }
                else if ((DateTime.Now - table.DateOfBirth).Hours > 166440 && (DateTime.Now - table.DateOfBirth).Hours < 227760)
                {
                    AgeSum = 50.00;
                }
                else if ((DateTime.Now - table.DateOfBirth).Hours > 227760)
                {
                    AgeSum = 50.00;
                }

                if (table.CarYear < 2000 || table.CarYear > 2015)
                {
                    CarAgeSum = 25.00;
                }

                if (table.CarMake == "Porsche" || table.CarMake == "porsche")
                {
                    MakeSum = 25.00;
                    if (table.CarModel == "911")
                    {
                        ModelSum = 25.00;
                    }
                }

                if (table.DUI == true)
                {
                    DuiSum = 1.25;
                }

                if (table.CoverageType == true)
                {
                    CoverSum = 1.5;
                }


                double x = (50.00 + AgeSum + CarAgeSum + MakeSum + ModelSum);
                double y = ((x * DuiSum) + (x * CoverSum));
                table.Quote = Convert.ToDecimal(y);
                db.Tables.Add(table);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(table));
        }
예제 #9
0
        public ActionResult Create([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)
                {
                    basic += 25;
                }
                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)
                {
                    basic += basic / 4;
                }
                if (insuree.CoverageType == true)
                {
                    basic += basic / 2;
                }
                insuree.Quote = basic;
                db.Insurees.Add(insuree);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(insuree));
        }
        public ActionResult Create([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Insuree insuree)
        {
            if (ModelState.IsValid)
            {
                //var quote = insuree.Quote;
                insuree.Quote = 50;
                int userAge = DateTime.Now.Year - insuree.DateOfBirth.Year;
                //Insuree Age control statemetns
                if (userAge < 18)
                {
                    insuree.Quote += 100;
                }
                else if (userAge < 25)
                {
                    insuree.Quote += 25;
                }
                else if (userAge > 100)
                {
                    insuree.Quote += 25;
                }
                //Car Year and model control statements
                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.CarModel.ToLower() == "911 carrera")
                    {
                        insuree.Quote += 25;
                    }
                }
                //insuree driving record conditioanal statements to include speeding tickets or/and DUI
                if (insuree.SpeedingTickets > 0)
                {
                    insuree.Quote += insuree.SpeedingTickets * 10;
                }
                if (insuree.DUI == true)
                {
                    insuree.Quote += insuree.Quote * 25 / 100;
                }
                //If selected it means the insuree requested full coverage which should add 50% to total quote.
                if (insuree.CoverageType == true)
                {
                    insuree.Quote += insuree.Quote * 50 / 100;
                }
                db.Insurees.Add(insuree);
                db.SaveChanges();
                return(RedirectToAction("Details", new { id = insuree.Id }));
            }

            return(View(insuree));
        }
        public ActionResult Create([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Insuree insuree)
        {
            if (ModelState.IsValid)
            {
                insuree.Quote = 50; //base price is $50
                int userAge = DateTime.Now.Year - insuree.DateOfBirth.Year;

                if (userAge < 18)
                {
                    insuree.Quote += 100;
                }

                if (userAge > 18 && userAge < 25)
                {
                    insuree.Quote += 25;
                }

                if (userAge > 100)
                {
                    insuree.Quote += 25;
                }

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

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

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

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

                if (insuree.DUI)
                {
                    insuree.Quote = insuree.Quote + insuree.Quote * 1 / 4;
                }

                if (insuree.CoverageType)
                {
                    insuree.Quote = insuree.Quote + insuree.Quote * 1 / 2;
                }
                db.Insurees.Add(insuree);
                db.SaveChanges();
                return(RedirectToAction("Details", insuree));
            }

            return(View(insuree));
        }
예제 #12
0
        public ActionResult Create([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Table table)
        {
            if (ModelState.IsValid)
            {
                DateTime now     = DateTime.Now;
                int      current = now.Year;
                int      dob     = table.DateOfBirth.Year;
                int      age     = current - dob;
                var      make    = table.CarMake.ToLower();
                var      model   = table.CarModel.ToLower();
                table.Quote = 50;
                if (age < 18)
                {
                    table.Quote += 100;
                }
                else if (age >= 18 && age < 26)
                {
                    table.Quote += 50;
                }
                else
                {
                    table.Quote += 25;
                }
                if (table.CarYear < 2000)
                {
                    table.Quote += 25;
                }
                if (table.CarYear > 2015)
                {
                    table.Quote += 25;
                }
                if (make == "porsche")
                {
                    table.Quote += 25;
                }
                if (make == "porsche" && model == "911 carrera")
                {
                    table.Quote += 25;
                }
                if (table.SpeedingTickets > 0)
                {
                    table.Quote += table.SpeedingTickets * 10;
                }
                if (table.DUI)
                {
                    table.Quote += table.Quote * .25m;
                }
                if (table.CoverageType)
                {
                    table.Quote += table.Quote * .5m;
                }
                db.Tables.Add(table);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(table));
        }
예제 #13
0
        public ActionResult Create([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Insuree insuree)
        {
            if (ModelState.IsValid)
            {
                //This is where the quote is determined
                //First I set a vaiable for the current day and the base value for the quote
                DateTime today = DateTime.Today;
                decimal  quote = 50;
                //Set the value for an age variable to be equal to today's year minus the person's DOB
                int age = today.Year - insuree.DateOfBirth.Year;
                //Age is checked against a couple of if statments that determine whether to add more money to the quote
                if (age <= 18)
                {
                    quote = quote + 100;
                }
                else if (age > 18 && age < 25)
                {
                    quote = quote + 50;
                }
                else
                {
                    quote = quote + 25;
                }
                //if the car is too old or too new it will cost more
                if (insuree.CarYear < 2000 || insuree.CarYear > 2015)
                {
                    quote = quote + 25;
                }
                //checks to see if the car is a Porche and if it is a 911 Carrera Porsche
                if (insuree.CarMake == "Porsche")
                {
                    quote = quote + 25;
                }
                if (insuree.CarMake == "Porsche" && insuree.CarModel == "911 Carrera")
                {
                    quote = quote + 25;
                }
                //each speeding ticket costs 10 extra dollars so the number of speeding tickets they have is multiplied by ten and that is added to the quote cost
                decimal x = Convert.ToDecimal(insuree.SpeedingTickets * 10);
                quote = quote + x;
                //if they have a DUI then their total is increased by 25%. If they selected FullCoverage then in is increased by 50%
                if (insuree.DUI == true)
                {
                    quote = (quote / 4) * 5;
                }
                if (insuree.CoverageType == true)
                {
                    quote = (quote / 2) * 3;
                }
                //changes are saved to database and then we are taken to the Admin Index page to view the current list of quotes and names stored
                insuree.Quote = quote;
                db.Insurees.Add(insuree);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(insuree));
        }
예제 #14
0
 public ActionResult Create([Bind(Include = "InsureeId,FirstName,LastName,EmailAddress,DateOfBirth,VehicleYear,VehicleMake,VehicleModel,DUI,SpeedingTickets,CoverageType,AutoQuoteId,MonthlyQuoteRate,YearlyQuoteRate")] Insuree insuree)
 {
     if (ModelState.IsValid)
     {
         db.Insurees.Add(insuree);
         db.SaveChanges();
     }
     return(RedirectToAction("PostYesSuccess"));
 }
        public ActionResult Create([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Insuree insuree)
        {
            if (ModelState.IsValid)
            {
                insuree.Quote = 50;

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

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

                if (insuree.CarMake.Equals("Porsche"))
                {
                    insuree.Quote += 25;
                    if (insuree.CarModel.Equals("911 Carrera"))
                    {
                        insuree.Quote += 25;
                    }
                }

                insuree.Quote += insuree.SpeedingTickets * 10;

                if (insuree.DUI)
                {
                    insuree.Quote += insuree.Quote / 4;
                }

                if (insuree.CoverageType)
                {
                    insuree.Quote += insuree.Quote / 2;
                }

                db.Insurees.Add(insuree);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(insuree));
        }
예제 #16
0
        public ActionResult Create([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Insuree insuree)
        {
            if (ModelState.IsValid)
            {
                insuree.Quote = 50;
                DateTime dateOfBirth18 = insuree.DateOfBirth;
                int      age18         = DateTime.Now.Year - dateOfBirth18.Year;
                if (age18 <= 18)
                {
                    insuree.Quote += 100;
                }
                DateTime dateOfBirth1925 = insuree.DateOfBirth;
                int      age1925         = DateTime.Now.Year - dateOfBirth1925.Year;
                if (age1925 > 18 && age1925 <= 25)
                {
                    insuree.Quote += 50;
                }
                DateTime dateOfBirth26 = insuree.DateOfBirth;
                int      age26         = DateTime.Now.Year - dateOfBirth26.Year;
                if (age26 > 25)
                {
                    insuree.Quote += 25;
                }
                int currentYear = DateTime.Now.Year;
                int car2000     = currentYear - insuree.CarYear;
                if (car2000 < 2000 || car2000 > 2015)
                {
                    insuree.Quote += 25;
                }
                if (insuree.CarMake == "Porsche")
                {
                    insuree.Quote += 25;
                }
                if (insuree.CarMake == "Porsche" && insuree.CarModel == "911 Carrera")
                {
                    insuree.Quote += 25;
                }
                for (int i = 1; i <= insuree.SpeedingTickets; i++)
                {
                    insuree.Quote += 10;
                }
                if (insuree.DUI == true)
                {
                    insuree.Quote += (insuree.Quote * 25) / 100;
                }
                if (insuree.CoverageType == true)
                {
                    insuree.Quote += (insuree.Quote * 50) / 100;
                }

                db.Insurees.Add(insuree);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(insuree));
        }
        public ActionResult Create([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Insuree insuree)
        {
            if (ModelState.IsValid)
            {
                decimal monthlyBaseRate = 50;

                DateTime now    = DateTime.Now;
                DateTime bornOn = insuree.DateOfBirth;
                var      age    = Convert.ToInt32(now.Year - bornOn.Year);
                if (age <= 18)
                {
                    monthlyBaseRate += 100;
                }
                else if (age > 18 && age <= 25)
                {
                    monthlyBaseRate += 50;
                }
                else if (age > 25)
                {
                    monthlyBaseRate += 25;
                }

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

                if (insuree.CarMake == "Porche")
                {
                    monthlyBaseRate += 25;
                }
                else if (insuree.CarMake == "Porche" && insuree.CarModel == "911 Carrera")
                {
                    monthlyBaseRate += 50;
                }

                var tickets = insuree.SpeedingTickets;
                monthlyBaseRate += tickets * 10;

                if (insuree.DUI == true)
                {
                    monthlyBaseRate += monthlyBaseRate * Convert.ToDecimal(0.25);
                }

                if (insuree.CoverageType == true)
                {
                    monthlyBaseRate += monthlyBaseRate * Convert.ToDecimal(0.5);
                }

                insuree.Quote = monthlyBaseRate;
                db.Insurees.Add(insuree);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(insuree));
        }
예제 #18
0
        public ActionResult Create([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Insuree insuree)
        {
            if (ModelState.IsValid)
            {
                insuree.Quote = 50;
                int age = DateTime.Now.Year - insuree.DateOfBirth.Year;

                if (age <= 18)
                {
                    insuree.Quote += 100;
                }
                if (age > 18 && age < 25)
                {
                    insuree.Quote += 50;
                }
                if (age > 25)
                {
                    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 == "Porsche" && insuree.CarModel == "911 Carrera")
                {
                    insuree.Quote += 25;
                }

                int ticketFee = 10 * insuree.SpeedingTickets;
                if (insuree.SpeedingTickets > 0)
                {
                    insuree.Quote += ticketFee;
                }
                if (insuree.DUI == true)
                {
                    insuree.Quote += insuree.Quote * .25m;
                }
                if (insuree.CoverageType == true)
                {
                    insuree.Quote += insuree.Quote * .50m;
                }

                db.Insurees.Add(insuree);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(insuree));
        }
        public ActionResult Create([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Insuree insuree) //removed quote
        {
            insuree.Quote = 50;
            if ((DateTime.Now.Year - insuree.DateOfBirth.Year) < 18)
            {
                insuree.Quote += 100;
            }
            else if ((DateTime.Now.Year - insuree.DateOfBirth.Year) < 25)
            {
                insuree.Quote += 25;
            }
            else if ((DateTime.Now.Year - insuree.DateOfBirth.Year) > 100)
            {
                insuree.Quote += 25;
            }

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

            if (insuree.CarMake == "Porsche" || insuree.CarMake == "porsche" && insuree.CarModel == "911 Carrera" || insuree.CarModel == "911 carrera")
            {
                insuree.Quote += 50;
            }
            else if (insuree.CarMake == "Porsche" || insuree.CarMake == "porsche")
            {
                insuree.Quote += 25;
            }

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

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

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

            if (ModelState.IsValid)
            {
                db.Insurees.Add(insuree);
                db.SaveChanges();
            }
            return(View("Success", db.Insurees.OrderByDescending(x => x.Quote).Take(1).ToList()));
        }
예제 #20
0
 public ActionResult Create([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Insuree insuree)
 {
     if (ModelState.IsValid)
     {
         DateTime current = DateTime.Now;
         insuree.Quote = 50;
         int age = current.Year - insuree.DateOfBirth.Year;
         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 > 2015)
         {
             insuree.Quote += 25;
         }
         if (insuree.CarMake == "Porsche")
         {
             insuree.Quote += 25;
         }
         if (insuree.CarMake == "Porsche" && insuree.CarModel == "911 Carrera")
         {
             insuree.Quote += 25;
         }
         if (insuree.SpeedingTickets > 0)
         {
             int times = insuree.SpeedingTickets * 10;
             insuree.Quote += times;
         }
         if (insuree.DUI == true)
         {
             decimal duiTotal = insuree.Quote / 4;
             insuree.Quote += duiTotal;
         }
         if (insuree.CoverageType == true)
         {
             decimal coverage = insuree.Quote / 2;
             insuree.Quote += coverage;
         }
         db.Insurees.Add(insuree);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(insuree.Quote));
 }
        public ActionResult Create([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Insuree insuree)
        {
            if (ModelState.IsValid)
            {
                insuree.Quote = 50;
                var today      = DateTime.Today;
                var insureeDOB = insuree.DateOfBirth;
                var insureeAge = today.Year - insureeDOB.Year;
                // AGE REQUIREMENTS
                if (18 > insureeAge)
                {
                    insuree.Quote = insuree.Quote + 100;
                }
                else if (25 > insureeAge && insureeAge >= 18 || insureeAge > 100)
                {
                    insuree.Quote = insuree.Quote + 25;
                }
                // CAR YEAR REQUIREMENTS
                if (2000 > insuree.CarYear)
                {
                    insuree.Quote = insuree.Quote + 25;
                }
                else if (insuree.CarYear > 2015)
                {
                    insuree.Quote = insuree.Quote + 25;
                }
                // CAR MAKE REQUIREMENTS
                if (insuree.CarMake == "Porche")
                {
                    insuree.Quote = insuree.Quote + 25;
                    if (insuree.CarModel == "911 Carrera")
                    {
                        insuree.Quote = insuree.Quote + 25;
                    }
                }
                // DRIVING RECORD
                if (insuree.DUI)
                {
                    insuree.Quote = insuree.Quote * 1.25m;
                }
                if (insuree.SpeedingTickets != 0)
                {
                    insuree.Quote = insuree.Quote + (insuree.SpeedingTickets * 10);
                }
                if (insuree.CoverageType)
                {
                    insuree.Quote = insuree.Quote * 1.50m;
                }

                db.Insurees.Add(insuree);
                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)
     {
         db.Entry(insuree).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(insuree));
 }
        public ActionResult Create([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarMode,DUI,SpeedingTickets,CoverageType,Quote")] Insurance insurance)
        {
            if (ModelState.IsValid)
            {
                int age = DateTime.Now.Year - insurance.DateOfBirth.Year;
                insurance.Quote = 50;
                if (age <= 18)
                {
                    insurance.Quote += 100;
                }
                if (age >= 19 && age <= 25)
                {
                    insurance.Quote += 50;
                }
                if (age > 25)
                {
                    insurance.Quote += 25;
                }
                int car = DateTime.Now.Year;
                if (insurance.CarYear < 2000)
                {
                    insurance.Quote += 25;
                }
                if (insurance.CarYear > 2015)
                {
                    insurance.Quote += 25;
                }
                if (insurance.CarMake == "porsche")
                {
                    insurance.Quote += 25;
                }
                if (insurance.CarMake == "porsche" && insurance.CarMode == "911 carrera")
                {
                    insurance.Quote += 25;
                }
                if (insurance.SpeedingTickets >= 1)
                {
                    int TicketsTotal = insurance.SpeedingTickets * 10;
                    insurance.Quote += TicketsTotal;
                }
                if (insurance.DUI)
                {
                    insurance.Quote *= 0.25m;
                }
                if (insurance.CoverageType)
                {
                    insurance.Quote *= 0.5m;
                }
                db.Insurances.Add(insurance);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(insurance));
        }
예제 #24
0
        public ActionResult Create([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Insuree insuree)
        {
            if (ModelState.IsValid)
            {
                // Q = eventual quote
                decimal Q = 75;

                int userAge = DateTime.Now.Year - insuree.DateOfBirth.Year;

                if (userAge <= 18)
                {
                    Q += 75;
                }
                if (userAge >= 19 && userAge <= 25)
                {
                    Q += 25;
                }

                int carYear = insuree.CarYear;
                if (carYear <= 2000 || carYear >= 2015)
                {
                    Q += 25;
                }

                string carMake  = insuree.CarMake.ToLower();
                string carModel = insuree.CarModel.ToLower();
                if (carMake == "porsche")
                {
                    Q += 25;

                    if (carModel == "911 carrera")
                    {
                        Q += 25;
                    }
                }

                int ticketCount = insuree.SpeedingTickets;
                Q += ticketCount * 10;

                bool hasDui = insuree.DUI;
                if (hasDui)
                {
                    Q *= 1.25m;
                }

                insuree.Quote = Q;

                db.Insurees.Add(insuree);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

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

            return View(insuree);
        }
        public ActionResult Create([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.AutoQuotes.Add(autoQuote);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(autoQuote));
        }
        public ActionResult Create([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Insuree insuree)
        {
            decimal quote = 50;

            if (DateTime.Now.Year - insuree.DateOfBirth.Year < 25)
            {
                quote += 25;
            }

            if (DateTime.Now.Year - insuree.DateOfBirth.Year < 18)
            {
                quote += 75;
            }

            if (insuree.CarYear < 2000 == insuree.CarYear > 25)
            {
                quote += 25;
            }

            if (insuree.CarMake.ToLower() == "Porsche")
            {
                quote += 25;
                if (insuree.CarModel.ToLower() == "911 Carrera")
                {
                    quote += 25;
                }
            }

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

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

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

            if (ModelState.IsValid)
            {
                db.Insurees.Add(insuree);
                db.SaveChanges();
                return(RedirectToAction("Details", new { insuree.Id }));
            }

            return(View(insuree));
        }
예제 #28
0
        public ActionResult Create([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarMake,CarModel,CarYear,DUI,SpeedingTickets,FullCoverage,Quote")] Insuree insuree)
        {
            if (ModelState.IsValid)
            {
                //adding conditions to create accurate quote
                insuree.Quote = 50m;

                var age = DateTime.Now.Year - insuree.DateOfBirth.Year;
                if (age < 18)
                {
                    insuree.Quote += 100;
                }
                else if (age < 25 || age > 100)
                {
                    insuree.Quote += 25;
                }

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

                if (insuree.CarModel == "911 Carrera" && insuree.CarMake == "Porche")
                {
                    insuree.Quote += 50m;
                }
                else if (insuree.CarMake == "Porche")
                {
                    insuree.Quote += 25m;
                }

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

                if (insuree.DUI == true)
                {
                    insuree.Quote += insuree.Quote / 4;
                }

                if (insuree.FullCoverage == true)
                {
                    insuree.Quote += insuree.Quote / 2;
                }

                db.Insurees.Add(insuree);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(insuree));
        }
예제 #29
0
        public ActionResult Create([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,QUOTE")] Insuree insuree)
        {
            if (ModelState.IsValid)
            {
                TimeSpan ageCompare = DateTime.Now - insuree.DateOfBirth;
                if (Convert.ToInt32(ageCompare.TotalDays) <= (18 * 365))
                {
                    insuree.QUOTE += 100;
                }
                else if (Convert.ToInt32(ageCompare.TotalDays) <= (25 * 365) && Convert.ToInt32(ageCompare.TotalDays) >= (19 * 365))
                {
                    insuree.QUOTE += 50;
                }
                else
                {
                    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.CarModel.ToLower() == "911 carrera")
                    {
                        insuree.QUOTE += 25;
                    }
                }
                for (int i = 0; i < insuree.SpeedingTickets; i++)
                {
                    insuree.QUOTE += 10;
                }
                if (insuree.DUI)
                {
                    insuree.QUOTE += insuree.QUOTE * 0.25m;
                }
                if (insuree.CoverageType)
                {
                    insuree.QUOTE += insuree.QUOTE * 0.50m;
                }
                db.Insurees.Add(insuree);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(insuree));
        }
예제 #30
0
        public ActionResult Create([Bind(Include = "Id,FirstName,LastName,EmailAddress,DateOfBirth,CarYear,CarMake,CarModel,DUI,SpeedingTickets,CoverageType,Quote")] Insuree insuree)
        {
            if (ModelState.IsValid)
            {
                insuree.Quote = 50;

                int age = DateTime.Now.Year - insuree.DateOfBirth.Year;
                if (age <= 25 || age <= 18 || age >= 100)
                {
                    insuree.Quote = insuree.Quote + 25;
                }


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

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

                if (insuree.CarMake == "Porsche" || insuree.CarMake == "porsche" && insuree.CarModel == "911 Carrera")
                {
                    insuree.Quote = insuree.Quote + 25;
                }

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

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

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

                db.Insurees.Add(insuree);
                db.SaveChanges();
                // return RedirectToAction("Details", new { InsureeId = insuree.Id });
                return(RedirectToAction("Index", insuree));
                // return RedirectToAction("Details", "<InsureeController.cs>", new { id = insuree.Id });
            }

            return(View(insuree));
        }