Disclaimer: This website requires Please enable JavaScript in your browser settings for the best experience.

HomeDev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideLegal TermsGitHubNuGetDev CommunityOptimizely AcademySubmit a ticketLog In
Dev Guide

Countries and regions

Describes how to configure countries and regions in Optimizely Commerce Connect 13.

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