Beispiel #1
0
        public static Address SaveIfNotExists(Address address) {

            if (!Address.Exists(x => x.UserName == address.UserName &&
                x.Street1 == address.Street1 &&
                x.StateOrProvince == address.StateOrProvince)) {

                address.Add(address.UserName);

            } else {
                address = Address.SingleOrDefault(x => x.UserName == address.UserName &&
                x.Street1 == address.Street1 &&
                x.StateOrProvince == address.StateOrProvince);
            }

            return address;

        }
Beispiel #2
0
        public ActionResult Shipping(Kona.Data.Address address)
        {
            if (ModelState.IsValid)
            {
                //save the address
                this.CurrentCart.ShippingAddress = Address.SaveIfNotExists(address);

                //calc the tax
                this.CurrentCart.TaxAmount = _pluginEngine.CalculateTax(this.SiteData.TaxPlugin, this.CurrentCart);

                //save the cart
                //_customerService.SaveCustomer(this.CurrentCustomer);
                this.CurrentCart.Save();

                //send to billing
                return(RedirectToAction("Billing"));
            }
            else
            {
                //let error handling pick it up
                return(View("Shipping"));
            }
        }
Beispiel #3
0
        public ActionResult Billing(Kona.Data.Address address)
        {
            if (ModelState.IsValid)
            {
                //save the address
                this.CurrentCart.BillingAddress = Address.SaveIfNotExists(address);;

                //set the shipping methods
                this.ShippingMethods = _pluginEngine.CalculateShipping(this.SiteData.ShippingPlugin, this.CurrentCart);;

                //default to the first
                this.CurrentCart.SetSelectedShipping(this.ShippingMethods[0]);

                //save the cart
                this.CurrentCart.Save();

                //send them to Finalize
                return(RedirectToAction("Finalize"));
            }
            else
            {
                return(View("Billing"));
            }
        }