internal void ImportCommodityPriceWarnLevels(String Filename)
{
DBConnector lDBCon = null;
dsEliteDB Data;
List<EDCommoditiesWarningLevels> WarnLevels;
Int32 Counter = 0;
WarnLevels = JsonConvert.DeserializeObject<List<EDCommoditiesWarningLevels>>(File.ReadAllText(Filename));
Data = new dsEliteDB();
try
{
lDBCon = new DBConnector(Program.DBCon.ConfigData, true);
lDBCon.TableRead("select * from tbCommodity", Data.tbcommodity);
sendProgressEvent(new ProgressEventArgs() {Info="import warnlevels", CurrentValue=Counter, TotalValue=WarnLevels.Count });
// first check if there's a new language
foreach (EDCommoditiesWarningLevels Warnlevel in WarnLevels)
{
DataRow[] Commodity = Data.tbcommodity.Select("commodity = " + DBConnector.SQLAString(DBConnector.DTEscape(Warnlevel.Name)));
if(Commodity.Count() > 0)
{
Commodity[0]["pwl_demand_buy_low"] = Warnlevel.PriceWarningLevel_Demand_Buy_Low;
Commodity[0]["pwl_demand_buy_high"] = Warnlevel.PriceWarningLevel_Demand_Buy_High;
Commodity[0]["pwl_supply_buy_low"] = Warnlevel.PriceWarningLevel_Supply_Buy_Low;
Commodity[0]["pwl_supply_buy_high"] = Warnlevel.PriceWarningLevel_Supply_Buy_High;
Commodity[0]["pwl_demand_sell_low"] = Warnlevel.PriceWarningLevel_Demand_Sell_Low;
Commodity[0]["pwl_demand_sell_high"] = Warnlevel.PriceWarningLevel_Demand_Sell_High;
Commodity[0]["pwl_supply_sell_low"] = Warnlevel.PriceWarningLevel_Supply_Sell_Low;
Commodity[0]["pwl_supply_sell_high"] = Warnlevel.PriceWarningLevel_Supply_Sell_High;
}
Counter++;
sendProgressEvent(new ProgressEventArgs() { Info="import warnlevels", CurrentValue=Counter, TotalValue=WarnLevels.Count });
}
// submit changes (tbLanguage)
lDBCon.TableUpdate(Data.tbcommodity);
lDBCon.Dispose();
}
catch (Exception ex)
{
if(lDBCon != null)
lDBCon.Dispose();
throw new Exception("Error while loading commodity names", ex);
}
}