Post Pic

C# Utility method to populate list controls with world currencies

I am working on a Job File System (JFS) for a client and they had the requirement to include a drop down list of currencies on their Purchase Order and Invoice documents, at first I was going to manually put together a list control but on reflection I thought their must be a better way of doing this that is more reusable. So here I have a utility method I put together to populate a ListControl with currency options. I would be interested in any feedback on this and alternative/better methods of achieving the end result:

/// <summary>
/// Fills the ListControl with ISO currency symbols.
/// </summary>
/// <param name="ctrl">The ListControl.</param>
public static void FillWithISOCurrencySymbols(ListControl ctrl)
	foreach (CultureInfo cultureInfo in CultureInfo.GetCultures(CultureTypes.SpecificCultures))
		RegionInfo regionInfo = new RegionInfo(cultureInfo.LCID);
		if (ctrl.Items.FindByValue(regionInfo.ISOCurrencySymbol) == null)
			ctrl.Items.Add(new ListItem(regionInfo.CurrencyEnglishName, regionInfo.ISOCurrencySymbol));

	RegionInfo currentRegionInfo = new RegionInfo(CultureInfo.CurrentCulture.LCID);

	//- Default the selection to the current cultures currency symbol
	if (ctrl.Items.FindByValue(currentRegionInfo.ISOCurrencySymbol) != null)
		ctrl.Items.FindByValue(currentRegionInfo.ISOCurrencySymbol).Selected = true;

Umbraco Certified Developer
SagePay Approved Partner
Creative Market