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); }
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; }
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; }
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); }