/// <summary> /// Load active Countries (no summary). /// Set Default Language to Client Language /// </summary> /// <param name="ctx">Ctx</param> private static void LoadAllCountries(Ctx ctx) { MClient client = MClient.Get(ctx); MLanguage lang = MLanguage.Get(ctx, client.GetAD_Language()); MCountry usa = null; // int countryID = Util.GetValueOfInt(ctx.Get("P|C_Country_ID")); s_countries = new CCache <String, MCountry>("C_Country", 250); String sql = "SELECT * FROM C_Country WHERE IsActive='Y' AND IsSummary='N'"; try { DataSet ds = DataBase.DB.ExecuteDataset(sql, null, null); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { DataRow dr = ds.Tables[0].Rows[i]; MCountry c = new MCountry(ctx, dr, null); s_countries.Add(c.GetC_Country_ID().ToString(), c); // Country code of Client Language if (lang != null && lang.GetCountryCode().Equals(c.GetCountryCode()) && _default == null) { _default = c; } else if (countryID == c.GetC_Country_ID()) { _default = c; } if (c.GetC_Country_ID() == 100) // USA { usa = c; } } } catch (Exception e) { _log.Log(Level.SEVERE, sql, e); } if (_default == null) { _default = usa; } _log.Fine("#" + s_countries.Size() + " - Default=" + _default); }