public static Address SetCustomerAddressOnFile(int customerID, Address address, AddressType type) { var saveAddress = false; var request = new UpdateCustomerRequest(); request.CustomerID = customerID; // Attempt to validate the user's entered address if US address address = GlobalUtilities.ValidateAddress(address) as Address; // New Addresses if (type == AddressType.New) { return(ExigoDAL.SaveNewCustomerAddress(customerID, address)); } // Main address if (type == AddressType.Main) { saveAddress = true; request.MainAddress1 = address.Address1; request.MainAddress2 = address.Address2 ?? string.Empty; request.MainCity = address.City; request.MainState = address.State; request.MainZip = address.Zip; request.MainCountry = address.Country; } // Mailing address if (type == AddressType.Mailing) { saveAddress = true; request.MailAddress1 = address.Address1; request.MailAddress2 = address.Address2 ?? string.Empty; request.MailCity = address.City; request.MailState = address.State; request.MailZip = address.Zip; request.MailCountry = address.Country; } // Other address if (type == AddressType.Other) { saveAddress = true; request.OtherAddress1 = address.Address1; request.OtherAddress2 = address.Address2 ?? string.Empty; request.OtherCity = address.City; request.OtherState = address.State; request.OtherZip = address.Zip; request.OtherCountry = address.Country; } if (saveAddress) { ExigoDAL.WebService().UpdateCustomer(request); ExigoDAL.PurgeCustomer(customerID); } return(address); }