I using bulk upload address method, the below code is address upload using excel file.My requirement is how to update the customer If already address available means no need to update, if not available the address means need to update.protected void CreateCustomerAddress(int customerID, UserDto userDto)
{
var country = FindCountry(userDto.Country);
if (country == null)
{
EventLogProvider.LogInformation(@Import users@, @INFO@, $@Skipping creation of address of user { userDto.Email }. Reason - invalid country.@);
return;
}
var state = FindState(userDto.State, country.CountryID);
var addressNameFields = new[] { $@{userDto.FirstName} {userDto.LastName}@, userDto.AddressLine, userDto.AddressLine2, userDto.City }
.Where(af =@ !string.IsNullOrWhiteSpace(af));
AddressInfo address = AddressInfoProvider.GetAddresses()
.WhereEquals(@AddressCustomerID@, customerID)
.FirstOrDefault();
// Address does not exist yet
if (address == null)
{
var newAddress = new AddressInfo
{
AddressName = string.Join(@, @, addressNameFields),
AddressLine1 = userDto.AddressLine ?? @@,
AddressLine2 = userDto.AddressLine2,
AddressCity = userDto.City ?? @@,
AddressZip = userDto.PostalCode ?? @@,
AddressPersonalName = userDto.ContactName ?? $@{userDto.FirstName} {userDto.LastName}@,
AddressPhone = userDto.PhoneNumber ?? @@,
AddressCustomerID = customerID,
AddressCountryID = country.CountryID,
AddressStateID = state?.StateID ?? 0, };
newAddress.SetValue(@AddressType@, AddressType.Shipping.Code);
newAddress.SetValue(@Email@, userDto.Email);
newAddress.SetValue(@CompanyName@, userDto.Company);
newAddress.SetValue(@Status@, @1@);
AddressInfoProvider.SetAddressInfo(newAddress);
}
// Address already exists
else
{
var newAddress = new AddressInfo
{
AddressName = string.Join(@, @, addressNameFields),
AddressLine1 = userDto.AddressLine ?? @@,
AddressLine2 = userDto.AddressLine2,
AddressCity = userDto.City ?? @@,
AddressZip = userDto.PostalCode ?? @@,
AddressPersonalName = userDto.ContactName ?? $@{userDto.FirstName} {userDto.LastName}@,
AddressPhone = userDto.PhoneNumber ?? @@,
AddressCustomerID = customerID,
AddressCountryID = country.CountryID,
AddressStateID = state?.StateID ?? 0, };
newAddress.SetValue(@AddressType@, AddressType.Shipping.Code);
newAddress.SetValue(@Email@, userDto.Email);
newAddress.SetValue(@CompanyName@, userDto.Company);
newAddress.SetValue(@Status@, @1@);
AddressInfoProvider.SetAddressInfo(newAddress);
}
}
↧