private void Update()
        {
            CurrentQuote.CustomerFirstName = this.FirstName;
            CurrentQuote.CustomerLastName  = this.LastName;
            CurrentQuote.DateOfBirth       = this.DateOfBirth;
            CurrentQuote.Ssn     = this.Ssn;
            CurrentQuote.Address = this.Address;
            CurrentQuote.City    = this.City;
            CurrentQuote.Zip     = this.ZipCode;
            CurrentQuote.StateId = this.StateId;
            CurrentQuote.ForceMultiCarDiscount  = this.ForceMultiCarDiscount;
            CurrentQuote.HasLessThan3YrsDriving = this.LessThan3Yrs;
            CurrentQuote.ClaimsInPast5Yrs       = this.ClaimsInPast5Yrs;
            CurrentQuote.HasMovingViolations    = this.MovingViolations;
            CurrentQuote.PreviousCarrier        = this.PreviousCarrier;

            var db = new QuotesDBEntities();

            if (CurrentQuote.ID == 0)
            {
                db.Quotes.AddObject(CurrentQuote);

                if (cbAddAsDriver.Checked)
                {
                    var driver = new Driver
                    {
                        Quote               = CurrentQuote,
                        FirstName           = CurrentQuote.CustomerFirstName,
                        LastName            = CurrentQuote.CustomerLastName,
                        DLState             = CurrentQuote.StateId,
                        DateOfBirth         = CurrentQuote.DateOfBirth,
                        Ssn                 = CurrentQuote.Ssn,
                        DriverLicenseNumber = string.Empty
                    };
                    db.Drivers.AddObject(driver);
                }
            }
            else
            {
                var quote = db.Quotes.Single(q => q.ID == CurrentQuote.ID);

                quote.CustomerFirstName = this.FirstName;
                quote.CustomerLastName  = this.LastName;
                quote.DateOfBirth       = this.DateOfBirth;
                quote.Ssn     = this.Ssn;
                quote.Address = this.Address;
                quote.City    = this.City;
                quote.Zip     = this.ZipCode;
                quote.StateId = this.StateId;
                quote.ForceMultiCarDiscount  = this.ForceMultiCarDiscount;
                quote.HasLessThan3YrsDriving = this.LessThan3Yrs;
                quote.ClaimsInPast5Yrs       = this.ClaimsInPast5Yrs;
                quote.HasMovingViolations    = this.MovingViolations;
                quote.PreviousCarrier        = this.PreviousCarrier;
            }

            db.SaveChanges();

            this.SaveComplete(this, null);
        }
Esempio n. 2
0
        /// <summary>
        /// Update the primary driver list to only show the drivers asscoiated to that quote
        /// </summary>
        public void PrimaryDriver()
        {
            ddlPrimaryDriver.Items.Clear();

            string        Fullname;
            var           db            = new QuotesDBEntities();
            List <Driver> primarydriver = new List <Driver>();

            Quote CurrentQuote = new Quote();

            CurrentQuote = db.Quotes.Single(i => i.ID == CurrentVehicle.QuoteId);
            if (CurrentVehicle.PrimaryDriver == 0 || CurrentQuote.Incomplete)
            {
                primarydriver = db.Drivers.Where(i => i.QuoteID == CurrentVehicle.QuoteId).ToList();
            }
            else
            {
                primarydriver = db.Drivers.Where(i => i.ID == CurrentVehicle.PrimaryDriver).ToList();
            }

            foreach (Driver driver in primarydriver)
            {
                Fullname = driver.FirstName + ' ' + driver.LastName;
                ListItem listItem = new ListItem(Fullname, Convert.ToString(driver.ID));
                ddlPrimaryDriver.Items.Add(listItem);
            }
        }
        public void Run(Web.Quote quote)
        {
            var db = new QuotesDBEntities();

            foreach (var vehicle in quote.Vehicles)
            {
                if (vehicle.AntiLock)
                {
                    var stateId = (int) db.Drivers.Single(p => p.ID == vehicle.PrimaryDriver).DLState;
                    var discount =
                        db.DiscountPerStates.Single(d => d.DiscountId == this.discountId && d.StateId == stateId);
                    var appliedDiscountValue = new VehicleDiscount()
                        {
                            AppliedDiscountValue = discount.Amount,
                            DiscountId = this.discountId,
                            StateId = stateId,
                            VehicleId = vehicle.ID
                        };

                    db.AddToVehicleDiscounts(appliedDiscountValue);

                }
            }
            db.SaveChanges();
        }
        public void Run(Web.Quote quote)
        {
            var db = new QuotesDBEntities();

            foreach (var vehicle in quote.Vehicles)
            {
                if (vehicle.MilesDrivenToWork < 25) //this is as in old application. doesn't correspond to excel document.
                {
                    var stateId = (int) db.Drivers.Single(p => p.ID == vehicle.PrimaryDriver).DLState;
                    var discount =
                        db.DiscountPerStates.Single(d => d.DiscountId == this.discountId && d.StateId == stateId);
                    var appliedDiscountValue = new VehicleDiscount()
                        {
                            AppliedDiscountValue = discount.Amount,
                            DiscountId = this.discountId,
                            StateId = stateId,
                            VehicleId = vehicle.ID
                        };

                    db.AddToVehicleDiscounts(appliedDiscountValue);

                }
            }
            db.SaveChanges();
        }
Esempio n. 5
0
        private int CopyQuoteInfo(Quote oldQuote)
        {
            var db       = new QuotesDBEntities();
            var newQuote = new Quote
            {
                UserId            = (Guid)Membership.GetUser(HttpContext.Current.User.Identity.Name).ProviderUserKey,
                CustomerFirstName = oldQuote.CustomerFirstName,
                CustomerLastName  = oldQuote.CustomerLastName,
                Address           = oldQuote.Address,
                City                   = oldQuote.City,
                StateId                = oldQuote.StateId,
                Ssn                    = oldQuote.Ssn,
                Zip                    = oldQuote.Zip,
                DateOfBirth            = oldQuote.DateOfBirth,
                DateCreated            = DateTime.Now,
                Incomplete             = true,
                ClaimsInPast5Yrs       = oldQuote.ClaimsInPast5Yrs,
                ForceMultiCarDiscount  = oldQuote.ForceMultiCarDiscount,
                HasLessThan3YrsDriving = oldQuote.HasLessThan3YrsDriving,
                HasMovingViolations    = oldQuote.HasMovingViolations
            };

            db.Quotes.AddObject(newQuote);
            db.SaveChanges();
            return(newQuote.ID);
        }
        /// <summary>
        /// Edits or deletes vehicle data 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            int index = Convert.ToInt32(e.CommandArgument);
            var vehicleId = (int)gvVehicles.DataKeys[index].Value;

            var db = new QuotesDBEntities();
            var vehicle = db.Vehicles.Single(i => i.ID == vehicleId);

            if (e.CommandName == "EditVehicle")
            {
                Button1.Visible = false;
                gvVehicles.Visible = false;
                ucVehicleInfo.Read(vehicle);
                ucVehicleInfo.Visible = true;
                ucVehicleInfo.PrimaryDriver();
            }
            else if (e.CommandName == "DeleteVehicle")
            {
                db.Vehicles.DeleteObject(vehicle);
                db.SaveChanges();

                this.RefreshGrid();

            }
        }
Esempio n. 7
0
        public DiscountsEngine(global::Web.Quote quote)
        {
            this.Quote = quote;
            this.GetDiscounts();

            BasePolicyPrice       = decimal.Parse(Db.Configs.Single(conf => conf.ID == QuoteBasePriceId).Value, new CultureInfo("en-US"));
            BaseDriverPrice       = decimal.Parse(Db.Configs.Single(conf => conf.ID == DriverBasePriceId).Value, new CultureInfo("en-US"));
            BaseVehicleMultiplier = decimal.Parse(Db.Configs.Single(conf => conf.ID == VehicleBasePriceMultiplierId).Value, new CultureInfo("en-US"));

            if (Quote.Incomplete)
            {
                this.ProcessDiscounts();

                var db = new QuotesDBEntities();
                var q  = db.Quotes.Single(i => i.ID == Quote.ID);
                q.Incomplete = false;
                q.Price      = this.GetTotalPrice();
                db.SaveChanges();

                Quote = q;

                // Add to sharepoint
                try
                {
                    this.SendQuoteToSharePoint();
                }
                catch (Exception ex)
                {
                    // TODO: Handle that
                }
            }
        }
        public DiscountsEngine(global::Web.Quote quote)
        {
            this.Quote = quote;
            this.GetDiscounts();

            BasePolicyPrice = decimal.Parse(Db.Configs.Single(conf => conf.ID == QuoteBasePriceId).Value, new CultureInfo("en-US"));
            BaseDriverPrice = decimal.Parse(Db.Configs.Single(conf => conf.ID == DriverBasePriceId).Value, new CultureInfo("en-US"));
            BaseVehicleMultiplier = decimal.Parse(Db.Configs.Single(conf => conf.ID == VehicleBasePriceMultiplierId).Value, new CultureInfo("en-US"));

            if (Quote.Incomplete)
            {
                this.ProcessDiscounts();

                var db = new QuotesDBEntities();
                var q = db.Quotes.Single(i => i.ID == Quote.ID);
                q.Incomplete = false;
                q.Price = this.GetTotalPrice();
                db.SaveChanges();

                Quote = q;

                // Add to sharepoint
                try
                {
                    this.SendQuoteToSharePoint();
                }
                catch (Exception ex)
                {
                    // TODO: Handle that
                }
            }
        }
Esempio n. 9
0
        private void CopyDrivers(Quote oldQuote, int newQuoteId)
        {
            var db = new QuotesDBEntities();

            var driverList = db.Drivers.Select(d => d).Where(d => d.QuoteID == oldQuote.ID);

            foreach (var oldDriver in driverList)
            {
                var newDriver = new Driver
                {
                    FirstName           = oldDriver.FirstName,
                    LastName            = oldDriver.LastName,
                    Ssn                 = oldDriver.Ssn,
                    DateOfBirth         = oldDriver.DateOfBirth,
                    DriverLicenseNumber = oldDriver.DriverLicenseNumber,
                    DLState             = oldDriver.DLState,
                    SafeDrivingSchool   = oldDriver.SafeDrivingSchool,
                    QuoteID             = newQuoteId
                };

                db.Drivers.AddObject(newDriver);
            }

            db.SaveChanges();
        }
Esempio n. 10
0
        /// <summary>
        /// Updates the driver information in the database
        /// </summary>
        /// <remarks>Fires the SaveComplete Event</remarks>
        private void Update()
        {
            CurrentDriver.FirstName           = this.FirstName;
            CurrentDriver.LastName            = this.LastName;
            CurrentDriver.DateOfBirth         = this.DateOfBirth;
            CurrentDriver.Ssn                 = this.SocialSecurityNumber;
            CurrentDriver.DriverLicenseNumber = this.LicenseNumber;
            CurrentDriver.DLState             = this.LicenseStateId;
            CurrentDriver.SafeDrivingSchool   = this.AttendedSafeDrivingSchool;

            var db = new QuotesDBEntities();

            if (CurrentDriver.ID == 0)
            {
                db.Drivers.AddObject(CurrentDriver);
            }
            else
            {
                var driver = db.Drivers.Single(i => i.ID == CurrentDriver.ID);

                driver.FirstName           = this.FirstName;
                driver.LastName            = this.LastName;
                driver.DateOfBirth         = this.DateOfBirth;
                driver.Ssn                 = this.SocialSecurityNumber;
                driver.DriverLicenseNumber = this.LicenseNumber;
                driver.DLState             = this.LicenseStateId;
                driver.SafeDrivingSchool   = this.AttendedSafeDrivingSchool;
            }

            db.SaveChanges();

            this.SaveComplete(this, null);
        }
Esempio n. 11
0
        /// <summary>
        /// Refreshes the grid with previously entered vehicles
        /// </summary>
        private void RefreshGrid()
        {
            var db = new QuotesDBEntities();

            Quote = db.Quotes.Single(i => i.ID == Quote.ID);

            gvVehicles.DataSource = Quote.Vehicles;
            gvVehicles.DataBind();
        }
Esempio n. 12
0
        /// <summary>
        /// Processes a quote
        /// </summary>
        /// <param name="id">The ID of the quote to process</param>
        private void LoadExistingQuote(int id)
        {
            var db = new QuotesDBEntities();

            this.Quote = db.Quotes.Single(i => i.ID == id);

            this.ShowCustomerInformation();
            this.ShowPriceSummary();
        }
Esempio n. 13
0
        public string[] GetCarriersList(string prefixText, int count)
        {
            var db       = new QuotesDBEntities();
            var carriers =
                (from q in db.Quotes
                 where q.PreviousCarrier.StartsWith(prefixText)
                 select q.PreviousCarrier).Distinct().Take(count).OrderBy(name => name);

            return(carriers.ToArray());
        }
Esempio n. 14
0
        public string[] GetVehicleModel(string prefixText, int count)
        {
            var db    = new QuotesDBEntities();
            var model =
                (from q in db.Vehicles
                 where q.Model.StartsWith(prefixText)
                 select q.Model).Distinct().Take(count).OrderBy(name => name);

            return(model.ToArray());
        }
Esempio n. 15
0
        private void RefreshCompleteGrid()
        {
            var userId = (Guid)Membership.GetUser(HttpContext.Current.User.Identity.Name).ProviderUserKey;
            var db     = new QuotesDBEntities();

            var quotes = from u in db.vw_Quotes where !u.Incomplete && u.UserId == userId select u;

            CompletedQuotesGridView.DataSource = quotes;
            CompletedQuotesGridView.DataBind();
        }
Esempio n. 16
0
        /// <summary>
        /// Refresh the content of the grid
        /// </summary>
        private void RefreshGrid()
        {
            var db = new QuotesDBEntities();

            Quote = db.Quotes.Single(i => i.ID == Quote.ID);

            var drivers = from d in db.vw_Drivers where d.QuoteID == Quote.ID select d;

            gvDrivers.DataSource = drivers;
            gvDrivers.DataBind();
        }
Esempio n. 17
0
        private void copyExistingQuote(int id)
        {
            var db       = new QuotesDBEntities();
            var oldQuote = db.Quotes.Single(q => q.ID == id);

            var newQuoteId = CopyQuoteInfo(oldQuote);

            CopyDrivers(oldQuote, newQuoteId);
            CopyVehicles(oldQuote, newQuoteId);

            Response.Redirect(string.Format("Create.aspx?id={0}", newQuoteId));
        }
Esempio n. 18
0
        /// <summary>
        /// Loads a previously saved, incomplete quote
        /// </summary>
        /// <param name="id">The ID of the quote to load</param>
        private void LoadExistingQuote(int id)
        {
            if (CurrentQuote == null || CurrentQuote.ID != id)
            {
                var db = new QuotesDBEntities();
                this.CurrentQuote = db.Quotes.Single(i => i.ID == id);
                ucCustomerInfo.Read(CurrentQuote);
            }

            // TODO: Make sure the quote is incomplete, we don't want to load a completed quote

            CompleteCustomerInfo();
        }
Esempio n. 19
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (HttpContext.Current.User.IsInRole("Manager"))
            {
                var db  = new QuotesDBEntities();
                var url = db.Configs.Single(c => c.Name == "SharePointListURL").Value;

                var manageQuotes = new MenuItem("Manage Quotes", null, null, url);
                var manageUsers  = new MenuItem("Manage Users", null, null, "~/Admin/ManageUsers.aspx");
                NavigationMenu.Items.Add(manageQuotes);
                NavigationMenu.Items.Add(manageUsers);
            }
        }
Esempio n. 20
0
        /// <summary>
        /// Updates the vehicle information in the database
        /// </summary>
        /// <remarks>Fires the SaveComplete Event</remarks>

        private void Update()
        {
            CurrentVehicle.AnnualMileage          = Convert.ToInt32(VehicleAnnualMileage);
            CurrentVehicle.Vin                    = VehicleVin;
            CurrentVehicle.Make                   = VehicleMake;
            CurrentVehicle.DaysDrivenPerWeek      = Convert.ToByte(VehicleDaysperwk);
            CurrentVehicle.Model                  = VehicleModel;
            CurrentVehicle.MilesDrivenToWork      = Convert.ToInt16(VehicleMilesToWork);
            CurrentVehicle.CurrentValue           = Convert.ToDecimal(VehicleValue);
            CurrentVehicle.Year                   = Convert.ToInt32(VehicleYear);
            CurrentVehicle.DaytimeRunningLights   = daytimerunninglights;
            CurrentVehicle.DifferentGarageAddress = garageaddress;
            CurrentVehicle.ReducedUsedDiscount    = reduceuse;
            CurrentVehicle.AntiTheft              = antitheft;
            CurrentVehicle.AntiLock               = antilockbrakes;
            CurrentVehicle.PassiveRestraints      = passiverestraint;
            CurrentVehicle.PrimaryDriver          = Convert.ToInt32(VehiclePrimaryDriver);

            var db = new QuotesDBEntities();

            if (CurrentVehicle.ID == 0)
            {
                db.Vehicles.AddObject(CurrentVehicle);
            }
            else
            {
                var vehicle = db.Vehicles.Single(i => i.ID == CurrentVehicle.ID);

                vehicle.QuoteId                = CurrentVehicle.QuoteId;
                vehicle.AnnualMileage          = CurrentVehicle.AnnualMileage;
                vehicle.Vin                    = CurrentVehicle.Vin;
                vehicle.Make                   = CurrentVehicle.Make;
                vehicle.DaysDrivenPerWeek      = CurrentVehicle.DaysDrivenPerWeek;
                vehicle.Model                  = CurrentVehicle.Model;
                vehicle.MilesDrivenToWork      = CurrentVehicle.MilesDrivenToWork;
                vehicle.CurrentValue           = CurrentVehicle.CurrentValue;
                vehicle.Year                   = CurrentVehicle.Year;
                vehicle.DaytimeRunningLights   = CurrentVehicle.DaytimeRunningLights;
                vehicle.DifferentGarageAddress = CurrentVehicle.DifferentGarageAddress;
                vehicle.ReducedUsedDiscount    = CurrentVehicle.ReducedUsedDiscount;
                vehicle.AntiTheft              = CurrentVehicle.AntiTheft;
                vehicle.AntiLock               = CurrentVehicle.AntiLock;
                vehicle.PassiveRestraints      = CurrentVehicle.PassiveRestraints;
                vehicle.PrimaryDriver          = CurrentVehicle.PrimaryDriver;
            }

            db.SaveChanges();

            this.SaveComplete(this, null);
        }
        protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            int index;
            if(e.CommandName=="Remove")
            {
                index = Convert.ToInt32(e.CommandArgument);
                var userId = (Guid)GridView1.DataKeys[index].Value;

                var db = new QuotesDBEntities();
                var selectedUser = db.aspnet_Membership.Single(m => m.UserId == userId);
                db.DeleteObject(selectedUser);
                db.SaveChanges();

                RefreshGrid();
            }
        }
Esempio n. 22
0
        protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            int index;

            if (e.CommandName == "Remove")
            {
                index = Convert.ToInt32(e.CommandArgument);
                var userId = (Guid)GridView1.DataKeys[index].Value;

                var db           = new QuotesDBEntities();
                var selectedUser = db.aspnet_Membership.Single(m => m.UserId == userId);
                db.DeleteObject(selectedUser);
                db.SaveChanges();

                RefreshGrid();
            }
        }
Esempio n. 23
0
        protected void IncompleteQuoteGridView_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            int index   = Convert.ToInt32(e.CommandArgument);
            var quoteId = IncompleteQuoteGridView.DataKeys[index].Value;

            if (e.CommandName == "EditIncomplete")
            {
                Response.Redirect(string.Format("Create.aspx?id={0}", quoteId.ToString()));
            }
            else if (e.CommandName == "DeleteIncomplete")
            {
                var db    = new QuotesDBEntities();
                var quote = db.Quotes.Single(q => q.ID == (int)quoteId);
                db.DeleteObject(quote);
                db.SaveChanges();
                this.RefreshIncompleteGrid();
            }
        }
Esempio n. 24
0
        public void Run(Quote quote)
        {
            var db = new QuotesDBEntities();
            if (quote.ForceMultiCarDiscount)
            {

                var stateId = quote.StateId;
                var discount = db.DiscountPerStates.Single(d => d.DiscountId == discountId && d.StateId == stateId);
                var appliedDiscountValue = new QuoteDiscount()
                    {
                        DiscountId = this.discountId,
                        StateId = stateId,
                        QuoteId = quote.ID,
                        AppliedDiscountValue = discount.Amount
                    };
                db.AddToQuoteDiscounts(appliedDiscountValue);
            }
            db.SaveChanges();
        }
Esempio n. 25
0
        public void Run(Quote quote)
        {
            var db = new QuotesDBEntities();

            if (quote.ForceMultiCarDiscount)
            {
                var stateId              = quote.StateId;
                var discount             = db.DiscountPerStates.Single(d => d.DiscountId == discountId && d.StateId == stateId);
                var appliedDiscountValue = new QuoteDiscount()
                {
                    DiscountId           = this.discountId,
                    StateId              = stateId,
                    QuoteId              = quote.ID,
                    AppliedDiscountValue = discount.Amount
                };
                db.AddToQuoteDiscounts(appliedDiscountValue);
            }
            db.SaveChanges();
        }
        public void Run(Quote quote)
        {
            var db = new QuotesDBEntities();

            if (quote.HasMovingViolations)
            {
                var stateId = (int) db.Drivers.First().DLState;
                var discount = db.DiscountPerStates.Single(d => d.DiscountId == discountId && d.StateId == stateId);
                var appliedDiscountValue = new QuoteDiscount()
                    {
                        DiscountId = this.discountId,
                        StateId = stateId,
                        QuoteId = quote.ID,
                        AppliedDiscountValue = discount.Amount
                    };
                db.AddToQuoteDiscounts(appliedDiscountValue);
            }
            db.SaveChanges();
        }
Esempio n. 27
0
        public void Run(Quote quote)
        {
            var db = new QuotesDBEntities();

            if (quote.HasMovingViolations)
            {
                var stateId              = (int)db.Drivers.First().DLState;
                var discount             = db.DiscountPerStates.Single(d => d.DiscountId == discountId && d.StateId == stateId);
                var appliedDiscountValue = new QuoteDiscount()
                {
                    DiscountId           = this.discountId,
                    StateId              = stateId,
                    QuoteId              = quote.ID,
                    AppliedDiscountValue = discount.Amount
                };
                db.AddToQuoteDiscounts(appliedDiscountValue);
            }
            db.SaveChanges();
        }
Esempio n. 28
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            var db = new QuotesDBEntities();

            foreach (GridViewRow row in GridView1.Rows)
            {
                var userId = (Guid)GridView1.DataKeys[row.DataItemIndex].Value;
                var user   = db.aspnet_Membership.Single(m => m.UserId == userId);

                var isApproved = ((CheckBox)row.Cells[3].Controls[1]).Checked;

                if (user.IsApproved != isApproved)
                {
                    user.IsApproved = isApproved;
                    db.SaveChanges();
                }
            }

            RefreshGrid();
        }
        protected void btnSave_Click(object sender, EventArgs e)
        {
            var db = new QuotesDBEntities();

            foreach (GridViewRow row in GridView1.Rows)
            {
                var userId = (Guid)GridView1.DataKeys[row.DataItemIndex].Value;
                var user = db.aspnet_Membership.Single(m => m.UserId == userId);

                var isApproved = ((CheckBox)row.Cells[3].Controls[1]).Checked;

                if (user.IsApproved != isApproved)
                {
                    user.IsApproved = isApproved;
                    db.SaveChanges();
                }
            }

            RefreshGrid();
        }
Esempio n. 30
0
        /// <summary>
        /// Populate the fields with the vehicle to be edited
        /// </summary>
        /// <param name="id"></param>
        public void Read(Vehicle car)
        {
            var db = new QuotesDBEntities();

            CurrentVehicle       = car;
            VehicleAnnualMileage = Convert.ToString(CurrentVehicle.AnnualMileage);
            VehicleVin           = CurrentVehicle.Vin;
            VehicleMake          = CurrentVehicle.Make;
            VehicleDaysperwk     = Convert.ToString(CurrentVehicle.DaysDrivenPerWeek);
            VehicleModel         = CurrentVehicle.Model;
            VehicleMilesToWork   = Convert.ToString(CurrentVehicle.MilesDrivenToWork);
            VehicleValue         = Convert.ToString(CurrentVehicle.CurrentValue);
            VehicleYear          = Convert.ToString(CurrentVehicle.Year);
            daytimerunninglights = CurrentVehicle.DaytimeRunningLights;
            garageaddress        = CurrentVehicle.DifferentGarageAddress;
            reduceuse            = CurrentVehicle.ReducedUsedDiscount;
            antitheft            = CurrentVehicle.AntiTheft;
            antilockbrakes       = CurrentVehicle.AntiLock;
            passiverestraint     = CurrentVehicle.PassiveRestraints;
        }
        public void Run(Quote quote)
        {
            var db = new QuotesDBEntities();
            if (quote.PreviousCarrier != null)
            if (quote.PreviousCarrier.ToLower().Contains("pervasive"))
            {

                var stateId = quote.StateId;
                var discount = db.DiscountPerStates.Single(d => d.DiscountId == discountId && d.StateId == stateId);
                var appliedDiscountValue = new QuoteDiscount()
                    {
                        DiscountId = this.discountId,
                        StateId = stateId,
                        QuoteId = quote.ID,
                        AppliedDiscountValue = discount.Amount
                    };
                db.AddToQuoteDiscounts(appliedDiscountValue);
            }
            db.SaveChanges();
        }
Esempio n. 32
0
        public void Run(Web.Quote quote)
        {
            var db = new QuotesDBEntities();

            foreach (var driver in quote.Drivers)
            {
                if (driver.DateOfBirth.AddYears(23) > DateTime.Now)
                {
                    var discount             = db.DiscountPerStates.Single(d => d.DiscountId == discountId && d.StateId == driver.DLState);
                    var appliedDiscountValue = new DriverDiscount()
                    {
                        DiscountId           = this.discountId,
                        StateId              = driver.DLState,
                        DriverId             = driver.ID,
                        AppliedDiscountValue = discount.Amount
                    };
                    db.AddToDriverDiscounts(appliedDiscountValue);
                }
            }

            db.SaveChanges();
        }
        public void Run(Web.Quote quote)
        {
            var db = new QuotesDBEntities();

            foreach (var driver in quote.Drivers)
            {
                if (driver.SafeDrivingSchool)
                {
                    var discount = db.DiscountPerStates.Single(d => d.DiscountId == discountId && d.StateId == driver.DLState);
                    var appliedDiscount = new DriverDiscount()
                        {
                            DriverId = driver.ID,
                            StateId = (int) driver.DLState,
                            DiscountId = discount.DiscountId,
                            AppliedDiscountValue = discount.Amount
                        };
                    db.AddToDriverDiscounts(appliedDiscount);
                }
            }

            db.SaveChanges();
        }
Esempio n. 34
0
        public void Run(Web.Quote quote)
        {
            var db = new QuotesDBEntities();

            foreach (var driver in quote.Drivers)
            {
                if (driver.SafeDrivingSchool)
                {
                    var discount        = db.DiscountPerStates.Single(d => d.DiscountId == discountId && d.StateId == driver.DLState);
                    var appliedDiscount = new DriverDiscount()
                    {
                        DriverId             = driver.ID,
                        StateId              = (int)driver.DLState,
                        DiscountId           = discount.DiscountId,
                        AppliedDiscountValue = discount.Amount
                    };
                    db.AddToDriverDiscounts(appliedDiscount);
                }
            }

            db.SaveChanges();
        }
Esempio n. 35
0
        private void CopyVehicles(Quote oldQuote, int newQuoteId)
        {
            var db          = new QuotesDBEntities();
            var vehicleList = db.Vehicles.Select(d => d).Where(v => v.QuoteId == oldQuote.ID);

            foreach (var vehicle in vehicleList)
            {
                // TODO: Find a better way to copy the primary driver info than compare the driver license number

                // Find the driver's licence number of the primary driver of the original vehicle
                var a = db.Drivers.Single(d => d.ID == vehicle.PrimaryDriver).DriverLicenseNumber;

                // Find the ID of the driver in the new quote that has the same licence number as the original one
                var b = db.Quotes.Single(q => q.ID == newQuoteId).Drivers.Single(d => d.DriverLicenseNumber == a).ID;

                var newVehicle = new Vehicle
                {
                    Vin                    = vehicle.Vin,
                    Make                   = vehicle.Make,
                    Model                  = vehicle.Model,
                    Year                   = vehicle.Year,
                    CurrentValue           = vehicle.CurrentValue,
                    PrimaryDriver          = b,
                    AnnualMileage          = vehicle.AnnualMileage,
                    DaysDrivenPerWeek      = vehicle.DaysDrivenPerWeek,
                    MilesDrivenToWork      = vehicle.MilesDrivenToWork,
                    AntiTheft              = vehicle.AntiTheft,
                    AntiLock               = vehicle.AntiLock,
                    DaytimeRunningLights   = vehicle.DaytimeRunningLights,
                    DifferentGarageAddress = vehicle.DifferentGarageAddress,
                    PassiveRestraints      = vehicle.PassiveRestraints,
                    ReducedUsedDiscount    = vehicle.ReducedUsedDiscount,
                    QuoteId                = newQuoteId
                };
                db.Vehicles.AddObject(newVehicle);
            }

            db.SaveChanges();
        }
        public void Run(Quote quote)
        {
            var db = new QuotesDBEntities();

            if (quote.PreviousCarrier != null)
            {
                if (quote.PreviousCarrier.ToLower().Contains("pervasive"))
                {
                    var stateId              = quote.StateId;
                    var discount             = db.DiscountPerStates.Single(d => d.DiscountId == discountId && d.StateId == stateId);
                    var appliedDiscountValue = new QuoteDiscount()
                    {
                        DiscountId           = this.discountId,
                        StateId              = stateId,
                        QuoteId              = quote.ID,
                        AppliedDiscountValue = discount.Amount
                    };
                    db.AddToQuoteDiscounts(appliedDiscountValue);
                }
            }
            db.SaveChanges();
        }
        protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            int index = Convert.ToInt32(e.CommandArgument);
            var driverId = (int)gvDrivers.DataKeys[index].Value;

            var db = new QuotesDBEntities();
            var driver = db.Drivers.Single(i => i.ID == driverId);

            if (e.CommandName == "EditDriver")
            {
                Button1.Visible = false;
                gvDrivers.Visible = false;
                ucDriverInfo.Read(driver);
                ucDriverInfo.Visible = true;
            }
            else if (e.CommandName == "DeleteDriver")
            {
                db.Drivers.DeleteObject(driver);
                db.SaveChanges();

                this.RefreshGrid();
            }
        }
Esempio n. 38
0
        protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            int index    = Convert.ToInt32(e.CommandArgument);
            var driverId = (int)gvDrivers.DataKeys[index].Value;

            var db     = new QuotesDBEntities();
            var driver = db.Drivers.Single(i => i.ID == driverId);

            if (e.CommandName == "EditDriver")
            {
                Button1.Visible   = false;
                gvDrivers.Visible = false;
                ucDriverInfo.Read(driver);
                ucDriverInfo.Visible = true;
            }
            else if (e.CommandName == "DeleteDriver")
            {
                db.Drivers.DeleteObject(driver);
                db.SaveChanges();

                this.RefreshGrid();
            }
        }
Esempio n. 39
0
        public void Run(Web.Quote quote)
        {
            var db = new QuotesDBEntities();

            foreach (var driver in quote.Drivers)
            {

                if (driver.DateOfBirth.AddYears(23) > DateTime.Now)
                {
                    var discount = db.DiscountPerStates.Single(d => d.DiscountId == discountId && d.StateId == driver.DLState);
                    var appliedDiscountValue = new DriverDiscount()
                        {
                            DiscountId = this.discountId,
                            StateId = driver.DLState,
                            DriverId = driver.ID,
                            AppliedDiscountValue = discount.Amount
                        };
                    db.AddToDriverDiscounts(appliedDiscountValue);
                }
            }

            db.SaveChanges();
        }
Esempio n. 40
0
        public void Run(Web.Quote quote)
        {
            var db = new QuotesDBEntities();

            foreach (var vehicle in quote.Vehicles)
            {
                if (vehicle.DaysDrivenPerWeek > 4)
                {
                    var stateId  = db.Drivers.Single(p => p.ID == vehicle.PrimaryDriver).DLState;
                    var discount =
                        db.DiscountPerStates.Single(d => d.DiscountId == this.discountId && d.StateId == stateId);
                    var appliedDiscountValue = new VehicleDiscount()
                    {
                        AppliedDiscountValue = discount.Amount,
                        DiscountId           = this.discountId,
                        StateId   = stateId,
                        VehicleId = vehicle.ID
                    };

                    db.AddToVehicleDiscounts(appliedDiscountValue);
                }
            }
            db.SaveChanges();
        }
        /// <summary>
        /// This function applies the rule to a given quote.
        /// </summary>
        /// <param name="quote">The quote object that the rule should be applied to</param>
        public void Run(Quote quote)
        {
            var db = new QuotesDBEntities();

            foreach (var vehicle in quote.Vehicles)
            {
                if (vehicle.ReducedUsedDiscount)
                {
                    var vehicleOwner = db.Drivers.Single(p => p.ID == vehicle.PrimaryDriver);
                    var discount = db.DiscountPerStates.Single(d => d.DiscountId == this.discountId && d.StateId == vehicleOwner.DLState);
                    var appliedDiscount = new VehicleDiscount
                                              {
                                                  DiscountId = discount.DiscountId,
                                                  StateId = vehicleOwner.DLState,
                                                  VehicleId = vehicle.ID,
                                                  AppliedDiscountValue = discount.Amount
                                              };

                    db.AddToVehicleDiscounts(appliedDiscount);
                }
            }

            db.SaveChanges();
        }
Esempio n. 42
0
        /// <summary>
        /// Edits or deletes vehicle data
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            int index     = Convert.ToInt32(e.CommandArgument);
            var vehicleId = (int)gvVehicles.DataKeys[index].Value;

            var db      = new QuotesDBEntities();
            var vehicle = db.Vehicles.Single(i => i.ID == vehicleId);

            if (e.CommandName == "EditVehicle")
            {
                Button1.Visible    = false;
                gvVehicles.Visible = false;
                ucVehicleInfo.Read(vehicle);
                ucVehicleInfo.Visible = true;
                ucVehicleInfo.PrimaryDriver();
            }
            else if (e.CommandName == "DeleteVehicle")
            {
                db.Vehicles.DeleteObject(vehicle);
                db.SaveChanges();

                this.RefreshGrid();
            }
        }
Esempio n. 43
0
        /// <summary>
        /// This function applies the rule to a given quote.
        /// </summary>
        /// <param name="quote">The quote object that the rule should be applied to</param>
        public void Run(Quote quote)
        {
            var db = new QuotesDBEntities();

            foreach (var vehicle in quote.Vehicles)
            {
                if (vehicle.ReducedUsedDiscount)
                {
                    var vehicleOwner    = db.Drivers.Single(p => p.ID == vehicle.PrimaryDriver);
                    var discount        = db.DiscountPerStates.Single(d => d.DiscountId == this.discountId && d.StateId == vehicleOwner.DLState);
                    var appliedDiscount = new VehicleDiscount
                    {
                        DiscountId           = discount.DiscountId,
                        StateId              = vehicleOwner.DLState,
                        VehicleId            = vehicle.ID,
                        AppliedDiscountValue = discount.Amount
                    };

                    db.AddToVehicleDiscounts(appliedDiscount);
                }
            }

            db.SaveChanges();
        }
        /// <summary>
        /// Refreshes the grid with previously entered vehicles
        /// </summary>
        private void RefreshGrid()
        {
            var db = new QuotesDBEntities();
            Quote = db.Quotes.Single(i => i.ID == Quote.ID);

            gvVehicles.DataSource = Quote.Vehicles;
            gvVehicles.DataBind();
        }
        /// <summary>
        /// Updates the driver information in the database
        /// </summary>
        /// <remarks>Fires the SaveComplete Event</remarks>
        private void Update()
        {
            CurrentDriver.FirstName = this.FirstName;
            CurrentDriver.LastName = this.LastName;
            CurrentDriver.DateOfBirth = this.DateOfBirth;
            CurrentDriver.Ssn = this.SocialSecurityNumber;
            CurrentDriver.DriverLicenseNumber = this.LicenseNumber;
            CurrentDriver.DLState = this.LicenseStateId;
            CurrentDriver.SafeDrivingSchool = this.AttendedSafeDrivingSchool;

            var db = new QuotesDBEntities();

            if (CurrentDriver.ID == 0)
            {
                db.Drivers.AddObject(CurrentDriver);
            }
            else
            {
                var driver = db.Drivers.Single(i => i.ID == CurrentDriver.ID);

                driver.FirstName = this.FirstName;
                driver.LastName = this.LastName;
                driver.DateOfBirth = this.DateOfBirth;
                driver.Ssn = this.SocialSecurityNumber;
                driver.DriverLicenseNumber = this.LicenseNumber;
                driver.DLState = this.LicenseStateId;
                driver.SafeDrivingSchool = this.AttendedSafeDrivingSchool;
            }

            db.SaveChanges();

            this.SaveComplete(this, null);
        }
        /// <summary>
        /// Refresh the content of the grid
        /// </summary>
        private void RefreshGrid()
        {
            var db = new QuotesDBEntities();

            Quote = db.Quotes.Single(i => i.ID == Quote.ID);

            var drivers = from d in db.vw_Drivers where d.QuoteID == Quote.ID select d;

            gvDrivers.DataSource = drivers;
            gvDrivers.DataBind();
        }
        /// <summary>
        /// Update the primary driver list to only show the drivers asscoiated to that quote
        /// </summary>
        public void PrimaryDriver()
        {
            ddlPrimaryDriver.Items.Clear();

            string Fullname;
            var db = new QuotesDBEntities();
            List<Driver> primarydriver = new List<Driver>();

            Quote CurrentQuote = new Quote();

            CurrentQuote = db.Quotes.Single(i=>i.ID==CurrentVehicle.QuoteId);
            if (CurrentVehicle.PrimaryDriver == 0 || CurrentQuote.Incomplete)
               primarydriver = db.Drivers.Where(i => i.QuoteID == CurrentVehicle.QuoteId).ToList();
            else
               primarydriver = db.Drivers.Where(i=>i.ID == CurrentVehicle.PrimaryDriver).ToList();

            foreach (Driver driver in primarydriver)
            {
                Fullname = driver.FirstName + ' ' + driver.LastName;
                ListItem listItem = new ListItem(Fullname,Convert.ToString(driver.ID));
                ddlPrimaryDriver.Items.Add(listItem);
            }
        }
        /// <summary>
        /// Populate the fields with the vehicle to be edited
        /// </summary>
        /// <param name="id"></param>
        public void Read(Vehicle car)
        {
            var db = new QuotesDBEntities();

            CurrentVehicle = car;
            VehicleAnnualMileage = Convert.ToString(CurrentVehicle.AnnualMileage);
            VehicleVin = CurrentVehicle.Vin;
            VehicleMake = CurrentVehicle.Make;
            VehicleDaysperwk = Convert.ToString(CurrentVehicle.DaysDrivenPerWeek);
            VehicleModel = CurrentVehicle.Model;
            VehicleMilesToWork = Convert.ToString(CurrentVehicle.MilesDrivenToWork);
            VehicleValue = Convert.ToString(CurrentVehicle.CurrentValue);
            VehicleYear = Convert.ToString(CurrentVehicle.Year);
            daytimerunninglights = CurrentVehicle.DaytimeRunningLights;
            garageaddress = CurrentVehicle.DifferentGarageAddress;
            reduceuse = CurrentVehicle.ReducedUsedDiscount;
            antitheft = CurrentVehicle.AntiTheft;
            antilockbrakes = CurrentVehicle.AntiLock;
            passiverestraint = CurrentVehicle.PassiveRestraints;
        }
        /// <summary>
        /// Updates the vehicle information in the database
        /// </summary>
        /// <remarks>Fires the SaveComplete Event</remarks>
        private void Update()
        {
            CurrentVehicle.AnnualMileage = Convert.ToInt32(VehicleAnnualMileage);
            CurrentVehicle.Vin = VehicleVin;
            CurrentVehicle.Make = VehicleMake;
            CurrentVehicle.DaysDrivenPerWeek = Convert.ToByte(VehicleDaysperwk);
            CurrentVehicle.Model = VehicleModel;
            CurrentVehicle.MilesDrivenToWork = Convert.ToInt16(VehicleMilesToWork);
            CurrentVehicle.CurrentValue = Convert.ToDecimal(VehicleValue);
            CurrentVehicle.Year = Convert.ToInt32(VehicleYear);
            CurrentVehicle.DaytimeRunningLights = daytimerunninglights;
            CurrentVehicle.DifferentGarageAddress = garageaddress;
            CurrentVehicle.ReducedUsedDiscount = reduceuse;
            CurrentVehicle.AntiTheft = antitheft;
            CurrentVehicle.AntiLock = antilockbrakes;
            CurrentVehicle.PassiveRestraints = passiverestraint;
            CurrentVehicle.PrimaryDriver = Convert.ToInt32(VehiclePrimaryDriver);

            var db = new QuotesDBEntities();

            if (CurrentVehicle.ID == 0)
            {
                db.Vehicles.AddObject(CurrentVehicle);
            }
            else
            {
                var vehicle = db.Vehicles.Single(i => i.ID == CurrentVehicle.ID);

                vehicle.QuoteId = CurrentVehicle.QuoteId;
                vehicle.AnnualMileage = CurrentVehicle.AnnualMileage;
                vehicle.Vin = CurrentVehicle.Vin;
                vehicle.Make = CurrentVehicle.Make;
                vehicle.DaysDrivenPerWeek = CurrentVehicle.DaysDrivenPerWeek;
                vehicle.Model = CurrentVehicle.Model;
                vehicle.MilesDrivenToWork = CurrentVehicle.MilesDrivenToWork;
                vehicle.CurrentValue = CurrentVehicle.CurrentValue;
                vehicle.Year = CurrentVehicle.Year;
                vehicle.DaytimeRunningLights = CurrentVehicle.DaytimeRunningLights;
                vehicle.DifferentGarageAddress = CurrentVehicle.DifferentGarageAddress;
                vehicle.ReducedUsedDiscount= CurrentVehicle.ReducedUsedDiscount;
                vehicle.AntiTheft= CurrentVehicle.AntiTheft;
                vehicle.AntiLock = CurrentVehicle.AntiLock;
                vehicle.PassiveRestraints = CurrentVehicle.PassiveRestraints;
                vehicle.PrimaryDriver = CurrentVehicle.PrimaryDriver;
            }

            db.SaveChanges();

            this.SaveComplete(this, null);
        }
        private void Update()
        {
            CurrentQuote.CustomerFirstName = this.FirstName;
            CurrentQuote.CustomerLastName = this.LastName;
            CurrentQuote.DateOfBirth = this.DateOfBirth;
            CurrentQuote.Ssn = this.Ssn;
            CurrentQuote.Address = this.Address;
            CurrentQuote.City = this.City;
            CurrentQuote.Zip = this.ZipCode;
            CurrentQuote.StateId = this.StateId;
            CurrentQuote.ForceMultiCarDiscount = this.ForceMultiCarDiscount;
            CurrentQuote.HasLessThan3YrsDriving = this.LessThan3Yrs;
            CurrentQuote.ClaimsInPast5Yrs = this.ClaimsInPast5Yrs;
            CurrentQuote.HasMovingViolations = this.MovingViolations;
            CurrentQuote.PreviousCarrier = this.PreviousCarrier;

            var db = new QuotesDBEntities();

            if (CurrentQuote.ID == 0)
            {
                db.Quotes.AddObject(CurrentQuote);

                if (cbAddAsDriver.Checked)
                {
                    var driver = new Driver
                        {
                            Quote = CurrentQuote,
                            FirstName = CurrentQuote.CustomerFirstName,
                            LastName = CurrentQuote.CustomerLastName,
                            DLState = CurrentQuote.StateId,
                            DateOfBirth = CurrentQuote.DateOfBirth,
                            Ssn = CurrentQuote.Ssn,
                            DriverLicenseNumber = string.Empty
                        };
                    db.Drivers.AddObject(driver);
                }
            }
            else
            {
                var quote = db.Quotes.Single(q => q.ID == CurrentQuote.ID);

                quote.CustomerFirstName = this.FirstName;
                quote.CustomerLastName = this.LastName;
                quote.DateOfBirth = this.DateOfBirth;
                quote.Ssn = this.Ssn;
                quote.Address = this.Address;
                quote.City = this.City;
                quote.Zip = this.ZipCode;
                quote.StateId = this.StateId;
                quote.ForceMultiCarDiscount = this.ForceMultiCarDiscount;
                quote.HasLessThan3YrsDriving = this.LessThan3Yrs;
                quote.ClaimsInPast5Yrs = this.ClaimsInPast5Yrs;
                quote.HasMovingViolations = this.MovingViolations;
                quote.PreviousCarrier = this.PreviousCarrier;
            }

            db.SaveChanges();

            this.SaveComplete(this, null);
        }