This topic provides examples of using the ECF API to work with multi-market and warehouse features to
- change markets
- get prices and discounts for markets
- list warehouses
- get inventories per warehouse
Multi-market features
Changing market to display
Examples of how to change and set markets to display.

Example: Getting all available markets
C#
public IEnumerable GetAvailableMarkets()
{
var marketService = ServiceLocator.Current.GetInstance<IMarketService>();
return marketService.GetAllMarkets();
}
Example: Getting current markets
C#
public IMarket GetCurrentMarket()
{
var currentMarketService = ServiceLocator.Current.GetInstance<ICurrentMarket>();
return currentMarketService.GetCurrentMarket();
}
Example: Setting current markets
C#
public void SetCurrentMarket(MarketId marketId)
{
var currentMarketService = ServiceLocator.Current.GetInstance<ICurrentMarket>();
currentMarketService.SetCurrentMarket(marketId);
}
Displaying entry listing, prices and discounts per market
Examples of how to display the entries listed with pricing and discount for a selected market.


Example: Getting the price for an entry per market
C#
public Price GetSalePrice(Entry entry, decimal quantity)
{
var currentMarketService = ServiceLocator.Current.GetInstance<ICurrentMarket>();
var currentMarket = currentMarketService.GetCurrentMarket();
return StoreHelper.GetSalePrice(entry, quantity, currentMarket);
}
Example: Getting discounts per market
C#
public Price GetDiscountPrice(Entry entry)
{
var currentMarketService = ServiceLocator.Current.GetInstance<ICurrentMarket>();
var currentMarket = currentMarketService.GetCurrentMarket();
return StoreHelper.GetDiscountPrice(entry, string.Empty, string.Empty, currentMarket);
}