Exemplo n.º 1
0
        // Parses the data to the list
        private void parseData(dynamic ahData)
        {
            if (sql.CheckIfTimestampAlreadyProcessed(timestamp))
            {
                Logger.Write(LogType.INFO, string.Format("AuctionData timestamp {0} is already processed. Exiting..", timestamp));
                Environment.Exit(0);
            }

            long auctionId;
            long itemId;
            long bid;
            long buyout;
            long quantity;

            string owner;
            string realm;

            Logger.Write(LogType.INFO, "Starting to parse the data for database.");

            foreach (JObject stuff in ahData["auctions"])
            {
                try
                {
                    auctionId = long.Parse(stuff["auc"].ToString());
                    itemId    = long.Parse(stuff["item"].ToString());
                    owner     = stuff["owner"].ToString();
                    realm     = stuff["ownerRealm"].ToString();
                    bid       = long.Parse(stuff["bid"].ToString());
                    buyout    = long.Parse(stuff["buyout"].ToString());
                    quantity  = long.Parse(stuff["quantity"].ToString());

                    _items.Add(new AhItem(auctionId, itemId, owner, realm, bid, buyout, quantity));
                }
                catch (Exception ex)
                {
                    Logger.Write(LogType.ERROR, "Unable to parse item " + stuff["item"].ToString() + ": " + ex.Message);
                    continue;
                }
            }

            Logger.Write(LogType.INFO, "Parsed " + _items.Count + " items. Auctiondata timestamp: " + dateFromUnix(timestamp));
        }