Countries and regions
3 min
Countries and regions are used when configuring markets and tax jurisdictions, and can also be used on the front-end when dealing with Order managementOrder management. 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);