Пример #1
0
        public ActionResult ConfirmAddress(CheckoutConfirmAddressModel model)
        {
            //validation
            var cart = _workContext.CurrentCustomer.ShoppingCartItems
                .Where(sci => sci.ShoppingCartType == ShoppingCartType.ShoppingCart)
                .LimitPerStore(_storeContext.CurrentStore.Id)
                .ToList();
            if (cart.Count == 0)
                return RedirectToRoute("ShoppingCart");

            if (_orderSettings.OnePageCheckoutEnabled)
                return RedirectToRoute("CheckoutOnePage");

            if ((_workContext.CurrentCustomer.IsGuest() && !_orderSettings.AnonymousCheckoutAllowed))
                return new HttpUnauthorizedResult();

            if (!cart.RequiresShipping())
            {
                _workContext.CurrentCustomer.ShippingAddress = null;
                _customerService.UpdateCustomer(_workContext.CurrentCustomer);
                return RedirectToRoute("CheckoutPaymentMethod");
            }

            return RedirectToRoute("CheckoutShippingMethod");
        }
Пример #2
0
        protected virtual CheckoutConfirmAddressModel PrepareConfirmAddressModel()
        {
            var model = new CheckoutConfirmAddressModel();

            var BillingAddress = _workContext.CurrentCustomer.BillingAddress;
            if (BillingAddress != null)
            {
                var addressModel = new AddressModel();
                addressModel.PrepareModel(
                    address: BillingAddress,
                    excludeProperties: false,
                    addressSettings: _addressSettings,
                    addressAttributeFormatter: _addressAttributeFormatter);
                model.BillingAddress = addressModel;
            }

            var shippingAddress = _workContext.CurrentCustomer.ShippingAddress;
            if (shippingAddress != null)
            {
                var ShippingAddressModel = new AddressModel();
                ShippingAddressModel.PrepareModel(
                    address: shippingAddress,
                    excludeProperties: false,
                    addressSettings: _addressSettings,
                    addressAttributeFormatter: _addressAttributeFormatter);
                model.ShippingAddress = ShippingAddressModel;
            }

            return model;
        }