Countries and regions
Describes how to configure countries and regions in Optimizely Customized Commerce.
Countries and regions are used when configuring markets and tax jurisdictions, and can also be used on the front-end when dealing with Orders. On install, an extensive list of countries is created.
Classes in this topic are in the following namespaces:
- Mediachase.Commerce.Orders
- Mediachase.Commerce.Orders.Dto
- Mediachase.Commerce.Orders.Managers
Create countries and regions
var dto = new CountryDto();
var countryRow = dto.Country.NewCountryRow();
countryRow.Name = "Country Name";
countryRow.Code = "AAA";
//Three digit country code.
countryRow.Ordering = 0;
countryRow.Visible = true;
if (countryRow.RowState == DataRowState.Detached)
dto.Country.Rows.Add(countryRow);
dto.EnforceConstraints = false;
var region = dto.StateProvince.NewStateProvinceRow();
region.Name = "My Region";
region.Ordering = 0;
region.Visible = true;
region.CountryId = dto.Country[0].CountryId;
if (region.RowState == DataRowState.Detached)
dto.StateProvince.Rows.Add(region);
dto.EnforceConstraints = true;
CountryManager.SaveCountry(dto);
Update countries and regions
var dto = CountryManager.GetCountry("USA", true);
var countryRow = dto.Country[0];
countryRow.Ordering = 20;
countryRow.Visible = false;
var ca = countryRow.GetStateProvinceRows().FirstOrDefault(x => x.Name.Equals("California"));
ca.Ordering = 5;
CountryManager.SaveCountry(dto);
Delete countries and regions
var dto = CountryManager.GetCountry("USA", true); var countryRow = dto.Country[0];
countryRow.Delete();
CountryManager.SaveCountry(dto);
Updated 9 months ago
Next