コード例 #1
0
        internal static BillingShippingUserInfo GetCustomerBillingAndShippingInfo(User user, OrdersManager ordersManager, UserProfileManager userProfileManager)
        {
            if (user == null)
            {
                return(null); //don't do anything
            }


            CustomerRetriever customerRetriever = new CustomerRetriever(ordersManager, userProfileManager);

            Customer customer = customerRetriever.GetCustomerOfUser(user);

            if (customer == null)
            {
                return(LoadDataFromSitefinityProfile());
            }

            IQueryable <CustomerAddress> customerAddresses = ordersManager.GetPrimaryCustomerAddressesByCustomerId(customer.Id);

            if (customerAddresses.Count() == 0)
            {
                return(LoadDataFromSitefinityProfile());
            }

            var billingShippingInfo = new BillingShippingUserInfo();

            CustomerAddress customerBillingAddress = GetPrimaryCustomerAddress(customerAddresses, AddressType.Billing);

            billingShippingInfo.BillingFirstName   = customerBillingAddress.FirstName;
            billingShippingInfo.BillingLastName    = customerBillingAddress.LastName;
            billingShippingInfo.BillingCompany     = customerBillingAddress.Company;
            billingShippingInfo.BillingEmail       = customerBillingAddress.Email;
            billingShippingInfo.BillingAddress1    = customerBillingAddress.Address;
            billingShippingInfo.BillingAddress2    = customerBillingAddress.Address2;
            billingShippingInfo.BillingCity        = customerBillingAddress.City;
            billingShippingInfo.BillingCountry     = customerBillingAddress.Country;
            billingShippingInfo.BillingState       = customerBillingAddress.StateRegion;
            billingShippingInfo.BillingZip         = customerBillingAddress.PostalCode;
            billingShippingInfo.BillingPhoneNumber = customerBillingAddress.Phone;

            CustomerAddress customerShippingAddress = GetPrimaryCustomerAddress(customerAddresses, AddressType.Shipping);

            if (customerShippingAddress == null)
            {
                customerShippingAddress = customerBillingAddress;
            }
            billingShippingInfo.ShippingFirstName   = customerShippingAddress.FirstName;
            billingShippingInfo.ShippingLastName    = customerShippingAddress.LastName;
            billingShippingInfo.ShippingCompany     = customerShippingAddress.Company;
            billingShippingInfo.ShippingEmail       = customerShippingAddress.Email;
            billingShippingInfo.ShippingAddress1    = customerShippingAddress.Address;
            billingShippingInfo.ShippingAddress2    = customerShippingAddress.Address2;
            billingShippingInfo.ShippingCity        = customerShippingAddress.City;
            billingShippingInfo.ShippingCountry     = customerShippingAddress.Country;
            billingShippingInfo.ShippingState       = customerShippingAddress.StateRegion;
            billingShippingInfo.ShippingZip         = customerShippingAddress.PostalCode;
            billingShippingInfo.ShippingPhoneNumber = customerShippingAddress.Phone;

            return(billingShippingInfo);
        }
コード例 #2
0
        internal static BillingShippingUserInfo LoadDataFromSitefinityProfile()
        {
            User user = SecurityManager.GetUser(SecurityManager.GetCurrentUserId());

            if (user != null)
            {
                var sitefinityProfile = UserProfileHelper.GetSitefinityProfileOfUser(user);
                if (sitefinityProfile != null)
                {
                    var billingShippingUserInfo = new BillingShippingUserInfo();

                    billingShippingUserInfo.BillingFirstName  = sitefinityProfile.FirstName;
                    billingShippingUserInfo.BillingLastName   = sitefinityProfile.LastName;
                    billingShippingUserInfo.ShippingFirstName = sitefinityProfile.FirstName;
                    billingShippingUserInfo.ShippingLastName  = sitefinityProfile.LastName;
                    billingShippingUserInfo.BillingEmail      = sitefinityProfile.User.Email;
                    billingShippingUserInfo.ShippingEmail     = sitefinityProfile.User.Email;

                    return(billingShippingUserInfo);
                }
            }
            return(null);
        }