示例#1
0
        public ActionResult SelectAddress(AddressTypes addressType)
        {
            var customer         = HttpContext.GetCustomer();
            var primaryAddressId = addressType == AddressTypes.Shipping
                                ? customer.PrimaryShippingAddressID
                                : customer.PrimaryBillingAddressID;

            var checkoutContext = PersistedCheckoutContextProvider.LoadCheckoutContext(customer);

            var pageTitle = string.Empty;

            if (!AppLogic.AppConfigBool("AllowShipToDifferentThanBillTo") || addressType == AddressTypes.Account)
            {
                pageTitle = AppLogic.GetString("checkoutaddress.chooseabillingandshippingaddress", customer.LocaleSetting);
            }
            else if (addressType == AddressTypes.Shipping)
            {
                pageTitle = AppLogic.GetString("checkoutaddress.chooseashippingaddress", customer.LocaleSetting);
            }
            else
            {
                pageTitle = AppLogic.GetString("checkoutaddress.chooseabillingaddress", customer.LocaleSetting);
            }

            var addresses = AddressControllerHelper.GetCustomerAddresses(customer);

            var model = new SelectAddressViewModel
            {
                SelectedAddressId = primaryAddressId,
                SelectedAddress   = addresses
                                    .Where(address => address.Id == primaryAddressId)
                                    .FirstOrDefault(),
                AddressOptions         = addresses,
                AddressType            = addressType,
                PageTitle              = pageTitle,
                AddressSelectionLocked = (addressType == AddressTypes.Billing && checkoutContext.OffsiteRequiredBillingAddressId.HasValue) ||
                                         (addressType == AddressTypes.Shipping && checkoutContext.OffsiteRequiredShippingAddressId.HasValue)
            };

            return(PartialView(ViewNames.SelectAddressPartial, model));
        }
示例#2
0
        /// <summary>
        /// list of previous addresses of the user. If empty redirect to new address form page
        /// </summary>
        /// <returns>ActionResult-->  list of addresses</returns>
        public ActionResult SelectAddress()
        {
            try
            {
                Guid UserID = new Guid(Session["UserID"].ToString());
                IEnumerable <AddressDTO> addressDTOs            = addressBusinessContext.getUserAddresses(UserID);
                SelectAddressViewModel   selectAddressViewModel = new SelectAddressViewModel();

                selectAddressViewModel.Addresses = AddressMapper.Map <IEnumerable <AddressDTO>, IEnumerable <AddressViewModel> >(addressDTOs);
                if (selectAddressViewModel.Addresses.ToList().Count == 0)
                {
                    return(View(selectAddressViewModel));;
                }
                else
                {
                    return(View(selectAddressViewModel));
                }
            }
            catch (Exception ex)
            {
                return(RedirectToAction("ExceptionCatch", "Static", new { exception = ex.Message }));
            }
        }