private static void updateDatabase()
        {
            while (true)
            {
                DateTime before = DateTime.Now;
                Console.Write("Downloading price data . . . ");
                Item[] items = downloadItemList().ToArray();
                Console.WriteLine("Done.");

                Console.Write("Updating price database . . . ");
                using (gw2tpContext database = new gw2tpContext())
                {
                    database.Configuration.AutoDetectChangesEnabled = false;
                    database.Configuration.ValidateOnSaveEnabled = false;

                    for(int i = 0; i < items.Length; i++)
                    {
                        insertPriceData(items[i], database);

                        //save database every 1000 entries for performance reasons
                        if (i % 1000 == 0)
                        {
                            database.SaveChanges();
                        }
                    }
                }
                Console.WriteLine("Done.");
                Thread.Sleep(TimeSpan.FromMinutes(5) - (DateTime.Now - before));
            }
        }
        public static void Main()
        {
            Item[] items = downloadItemList().ToArray();
            using (var database = new gw2tpContext())
            {
                foreach (Item i in items)
                {
                    insertItemData(i, database);
                }

                database.SaveChanges();
            }
            //updateDatabase();
        }