コード例 #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 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;
        }
コード例 #3
0
        internal static Customer GetCustomerInfoOrCreateOneIfDoesntExsist(UserProfileManager userProfileManager, OrdersManager ordersManager, CheckoutState checkoutState)
        {
            var customerRetriever = new CustomerRetriever(ordersManager, userProfileManager);

            User customerUser = null;
            Customer customer = null;

            Guid userId = SecurityManager.CurrentUserId;
            if (userId != Guid.Empty)
            {
                customerUser = SecurityManager.GetUser(userId);
                if (customerUser != null)
                {

                    customer = customerRetriever.GetCustomer(customerUser, checkoutState);
                }
            }

            return customer;
        }
コード例 #4
0
        internal static Customer GetCustomerInfoOrCreateOneIfDoesntExsist(UserProfileManager userProfileManager, OrdersManager ordersManager, CheckoutState checkoutState)
        {
            var customerRetriever = new CustomerRetriever(ordersManager, userProfileManager);

            User     customerUser = null;
            Customer customer     = null;

            Guid userId = SecurityManager.CurrentUserId;

            if (userId != Guid.Empty)
            {
                customerUser = SecurityManager.GetUser(userId);
                if (customerUser != null)
                {
                    customer = customerRetriever.GetCustomer(customerUser, checkoutState);
                }
            }

            return(customer);
        }