IBE.SQL.EliteDBIO.ImportPrices C# (CSharp) Method

ImportPrices() public method

imports prices from a JSON companion data object
public ImportPrices ( Newtonsoft companionData ) : Int32
companionData Newtonsoft JSON object with companion data
return System.Int32
        public Int32 ImportPrices(Newtonsoft.Json.Linq.JObject companionData)
        {
            String system;
            String starPort;
            Int32 commodityCount = 0;
            List<String> csvStrings = new List<string>();
            List<EDStation> stationData = null;

            try
            {
                system   = companionData["lastSystem"]["name"].ToString();
                starPort = companionData["lastStarport"]["name"].ToString();

                foreach (Newtonsoft.Json.Linq.JToken commodity in companionData.SelectTokens("lastStarport.commodities[*]"))
                {                                                  
                    if(!commodity.Value<String>("categoryname").Equals("NonMarketable", StringComparison.InvariantCultureIgnoreCase))
                    {
                        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++;
                    }
                } 

                if(csvStrings.Count > 0)
                    stationData = ImportPricesFromCSVStrings(csvStrings.ToArray(), SQL.EliteDBIO.enImportBehaviour.OnlyNewer, SQL.EliteDBIO.enDataSource.fromIBE);

                return commodityCount;
            }
            catch (Exception ex)
            {
                throw new Exception("Error while importing prices from companion interface", ex);
            }
        }

Same methods

EliteDBIO::ImportPrices ( List Stations, enImportBehaviour importBehaviour, enDataSource dataSource ) : void