public static Support.YCurrencyID YCurrencyIDFromString(string id) { string idStr = id.ToUpper(); System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex("[A-Z][A-Z][A-Z][A-Z][A-Z][A-Z]=X"); if (idStr.Length == 8 && regex.Match(idStr).Success) { Support.CurrencyInfo b = null; Support.CurrencyInfo dep = null; string baseStr = idStr.Substring(0, 3); string depStr = idStr.Substring(3, 3); foreach (Support.CurrencyInfo cur in Support.WorldMarket.DefaultCurrencies) { if (baseStr == cur.ID) { b = new Support.CurrencyInfo(cur.ID, cur.Description); } else if (depStr == cur.ID) { dep = new Support.CurrencyInfo(cur.ID, cur.Description); } if (b != null & dep != null) { return(new Support.YCurrencyID(b, dep)); } } return(null); } else { return(null); } }
/// <summary> /// Loads as list of default countries from market.xml /// </summary> /// <returns></returns> /// <remarks></remarks> public static CountryInfo[] GetDefaultCountries() { List <CountryInfo> countries = new List <CountryInfo>(); XDocument xmlDoc = MyHelper.ParseXmlDocument(Properties.Resources.market); XElement[] cntNodes = XPath.GetElements("//Resources/Countries/Country", xmlDoc); System.Globalization.CultureInfo convCulture = new System.Globalization.CultureInfo("en-US"); foreach (XElement cntNode in cntNodes) { for (Country cnt = 0; cnt <= Country.VN; cnt++) { if (cnt.ToString() == MyHelper.GetXmlAttributeValue(cntNode, "ID")) { CurrencyInfo cntCur = null; string curID = MyHelper.GetXmlAttributeValue(cntNode, "Currency"); foreach (CurrencyInfo cur in DefaultCurrencies) { if (cur.ID.ToString() == curID) { cntCur = cur; break; } } XElement dstNodes = XPath.GetElement("DaylightSavingTimes", cntNode); List <DaylightSavingTime> dstList = new List <DaylightSavingTime>(); foreach (XElement dstNode in dstNodes.Elements()) { if (dstNode.Name.LocalName == "DST") { DateTime dstStart = Convert.ToDateTime(MyHelper.GetXmlAttributeValue(dstNode, "Start"), convCulture); DateTime dstEnd = Convert.ToDateTime(MyHelper.GetXmlAttributeValue(dstNode, "End"), convCulture); dstList.Add(new DaylightSavingTime(dstStart, dstEnd)); } } countries.Add(new CountryInfo(cnt, MyHelper.GetXmlAttributeValue(cntNode, "Name"), cntCur, dstList.ToArray())); break; } } } return(countries.ToArray()); }
/// <summary> /// Converts as value of a currency to the ratio value of another currency /// </summary> /// <param name="value"></param> /// <param name="currencyOfValue"></param> /// <param name="returnCurrency"></param> /// <returns></returns> /// <remarks>Returns 0, if the dependency value of one of both currencies is not in the list</remarks> public double ConvertCurrency(double value, CurrencyInfo currencyOfValue, CurrencyInfo returnCurrency) { try { if (currencyOfValue.ID != returnCurrency.ID) { double fromRatio = 0; double toRatio = 0; foreach (ExchangeRateData eiFrom in mExchangeItems) { if (eiFrom.CurrencyRelation.DepCurrency.ID == currencyOfValue.ID) { fromRatio = eiFrom.DependencyValue; foreach (ExchangeRateData eiTo in mExchangeItems) { if (eiTo.CurrencyRelation.DepCurrency.ID == returnCurrency.ID) { toRatio = eiTo.DependencyValue; break; } } break; } } if (fromRatio != 0 & toRatio != 0) { return(value / fromRatio * toRatio); } } else { return(value); } } catch (Exception ex) { } return(0); }
/// <summary> /// Overloaded constructor /// </summary> /// <param name="baseCur">The currency with the ratio value of 1</param> /// <param name="cur">The currency of the dependent value</param> /// <remarks></remarks> public ExchangeRateData(CurrencyInfo baseCur, CurrencyInfo cur) { mCurrencyRelation.BaseCurrency = baseCur; mCurrencyRelation.DepCurrency = cur; base.SetID(mCurrencyRelation.ID); }
/// <summary> /// Overloaded constructor /// </summary> /// <param name="baseCur"></param> /// <param name="depCur"></param> /// <remarks></remarks> public YCurrencyID(CurrencyInfo baseCur, CurrencyInfo depCur) { this.BaseCurrency = baseCur; this.DepCurrency = depCur; }
/// <summary> /// Default constructor /// </summary> /// <remarks></remarks> public YCurrencyID() { mBaseCurrency = null; mDepCurrency = null; }
public CountryInfo(Country id, string name, CurrencyInfo cur) { mID = id; mName = name; mCurrency = cur; }