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