示例#1
0
        private ShippingAddressesModel GetAddresses(Site site, ControllerContext controllerContext)
        {
            var model = new ShippingAddressesModel();
            var member = controllerContext.HttpContext.Membership().GetMembershipUser();
            var customer = site.Commerce().Customers
                                          .ByAccountId(member.UUID)
                                          .Include(c => c.Addresses)
                                          .FirstOrDefault();

            Address defaultAddr = null;

            if (customer.ShippingAddressId != null)
            {
                defaultAddr = customer.Addresses.FirstOrDefault(a => a.Id == customer.ShippingAddressId.Value);
            }

            if (defaultAddr == null)
            {
                defaultAddr = customer.Addresses.FirstOrDefault();
            }

            model.Default = defaultAddr;
            model.Alternatives = customer.Addresses.Where(x => x.Id != defaultAddr.Id).ToList();

            return model;
        }