public override ProductPriceInfoList GetProductPricesExact(long productid, string iso_currency, string culture)
        {
            if (iso_currency == null)
                throw new ArgumentNullException("iso_currency");
            string workCulture = "nl-NL";
            if (!string.IsNullOrEmpty(culture))
                workCulture = culture;
            string isoCurrency = "EUR";
            string isoCountry = "NL";
            if (!string.IsNullOrEmpty(iso_currency))
                isoCurrency = iso_currency;
            if (!string.IsNullOrEmpty(culture))
            {
                isoCountry = culture.Length == 2 ? culture : culture.Substring(3);
            }

            ProductPriceInfoList res = new ProductPriceInfoList();
            using (MySqlConnection conn = new MySqlConnection(GetConnectionString()))
            {
                using (MySqlCommand cmd = new MySqlCommand(QRY_GET_PRODUCTPRICE_BY_PRODUCT_ID_CURRENCY_COUNTRY_EXACT, conn))
                {
                    cmd.Parameters.Add("@product_id", MySqlDbType.Int64).Value = productid;
                    cmd.Parameters.Add("@iso_currency", MySqlDbType.VarChar, 10).Value = isoCurrency;
                    cmd.Parameters.Add("@iso2_country", MySqlDbType.VarChar, 2).Value = isoCountry;

                    DataTable tbl = new DataTable("productprice");
                    using (MySqlDataAdapter da = new MySqlDataAdapter(cmd))
                    {
                        conn.Open();
                        try
                        {
                            da.Fill(tbl);
                            foreach (DataRow row in tbl.Rows)
                            {
                                long productPriceId = Convert.ToInt64(row["productprice_id"]);
                                decimal price = Convert.ToDecimal(row["price"]);
                                string isoCurreny = Convert.ToString(row["iso_currency"]);
                                string iso2Country = Convert.ToString(row["iso2_country"]);
                                long productId = Convert.ToInt64(row["product_id"]);
                                ProductPriceInfo ppi = new ProductPriceInfo(productPriceId, price, isoCurreny, iso2Country, productId);
                                res.Add(ppi);
                            }
                        }
                        catch (Exception ex)
                        {
                            Logger.Instance.Write(LogLevel.Error, ex, "GetProductPricesExact<Exception>");
                        }
                        finally
                        {
                            conn.Close();
                        }
                    }
                }
            }
            return res;
        }
        public override ProductPriceInfoList GetProductPricesWild(long productid, string isoCurrency, string culture)
        {
            ProductPriceInfoList res = new ProductPriceInfoList();
            using (MySqlConnection conn = new MySqlConnection(GetConnectionString()))
            {
                using (MySqlCommand cmd = new MySqlCommand(QRY_GET_PRODUCTPRICE_BY_PRODUCT_ID_CURRENCY_COUNTRY_WILD, conn))
                {
                    cmd.Parameters.Add("@product_id", MySqlDbType.Int64).Value = productid;
                    cmd.Parameters.Add("@iso_currency", MySqlDbType.VarChar, 10).Value = isoCurrency;
                    //cmd.Parameters.Add("@iso2_country", MySqlDbType.VarChar, 2).Value = culture.Substring(3);
                    cmd.Parameters.Add("@iso2_country", MySqlDbType.VarChar, 2).Value = culture.Substring(3);

                    DataTable tbl = new DataTable("productprice");
                    using (MySqlDataAdapter da = new MySqlDataAdapter(cmd))
                    {
                        try
                        {
                            conn.Open();

                            da.Fill(tbl);
                            foreach (DataRow row in tbl.Rows)
                            {
                                long productPriceId = Convert.ToInt64(row["productprice_id"]);
                                decimal price = Convert.ToDecimal(row["price"]);
                                string isoCurreny = Convert.ToString(row["iso_currency"]);
                                string iso2Country = Convert.ToString(row["iso2_country"]);
                                long productId = Convert.ToInt64(row["product_id"]);
                                ProductPriceInfo ppi = new ProductPriceInfo(productPriceId, price, isoCurreny, iso2Country, productId);
                                res.Add(ppi);
                            }
                        }
                        catch (Exception ex)
                        {
                            Logger.Instance.Write(LogLevel.Error, ex, "GetProductPricesWild<Exception>");
                        }
                        finally
                        {
                            conn.Close();
                        }
                    }
                }
            }
            return res;
        }
 public ProductPriceInfoList GetProductPrices(int productid)
 {
     ProductPriceInfoList res = new ProductPriceInfoList();
     using (NpgsqlConnection conn = new NpgsqlConnection(GetConnectionString()))
     {
         string query = string.Format(
             QRY_GET_PRODUCTPRICES_BY_PRODUCT_ID,
             productid);
         using (NpgsqlCommand cmd = new NpgsqlCommand(query, conn))
         {
             DataTable tbl = new DataTable("productprice");
             using (NpgsqlDataAdapter da = new NpgsqlDataAdapter(cmd))
             {
                 try
                 {
                     da.Fill(tbl);
                     foreach (DataRow row in tbl.Rows)
                     {
                         int productPriceId	= Convert.ToInt32(row["productprice_id"]);
                         decimal price		= Convert.ToDecimal(row["price"]);
                         string isoCurreny	= Convert.ToString (row["iso_currency"]);
                         string iso2Country	= Convert.ToString (row["iso2_country"]);
                         int productId		= Convert.ToInt32(row["product_id"]);
                         ProductPriceInfo ppi = new ProductPriceInfo(productPriceId, price, isoCurreny, iso2Country, productId);
                         res.Add(ppi);
                     }
                 }
                 catch (Exception ex)
                 {
                     Logger.Instance.Write(TrackProtect.Logging.LogLevel.Error, ex, "GetProductPrices<Exception>");
                 }
                 finally
                 {
                     conn.Close();
                 }
             }
         }
     }
     return res;
 }