private String[] ConvertCommodityV3_To_CSVRows(JObject commodityV3Data)
{
String system;
String starPort;
Int32 commodityCount = 0;
List<String> csvStrings = new List<string>();
try
{
system = commodityV3Data["message"]["systemName"].ToString();
starPort = commodityV3Data["message"]["stationName"].ToString();
foreach (Newtonsoft.Json.Linq.JToken commodity in commodityV3Data.SelectTokens("message.commodities[*]"))
{
CsvRow csvData = new CsvRow();
csvData.SystemName = system;
csvData.StationName = starPort;
csvData.StationID = String.Format("{0} [{1}]", starPort, system);
csvData.CommodityName = commodity.Value<String>("name");
csvData.SellPrice = commodity.Value<Int32>("sellPrice");
csvData.BuyPrice = commodity.Value<Int32>("buyPrice");
csvData.Demand = commodity.Value<Int32>("demand");
csvData.Supply = commodity.Value<Int32>("stock");
csvData.SampleDate = DateTime.Now;
if((!String.IsNullOrEmpty(commodity.Value<String>("demandBracket"))) && (commodity.Value<Int32>("demandBracket") > 0))
csvData.DemandLevel = (String)Program.Data.BaseTableIDToName("economylevel", commodity.Value<Int32>("demandBracket") - 1, "level");
else
csvData.DemandLevel = null;
if((!String.IsNullOrEmpty(commodity.Value<String>("stockBracket"))) && (commodity.Value<Int32>("stockBracket") > 0))
csvData.SupplyLevel = (String)Program.Data.BaseTableIDToName("economylevel", commodity.Value<Int32>("stockBracket") - 1, "level");
else
csvData.SupplyLevel = null;
csvData.SourceFileName = "";
csvData.DataSource = "";
csvStrings.Add(csvData.ToString());
commodityCount++;
}
return csvStrings.ToArray();
}
catch (Exception ex)
{
throw new Exception("Error while converting commodity v3 data to csv rows", ex);
}
}