protected static async Task ScanListings() { string appid = ConfigurationManager.AppSettings["appID"]; int count = db.PostedListings.Count(); int i = 0; //foreach (PostedListing p in db.PostedListings.Where(r => r.ListedItemID == "223072961963")) foreach (PostedListing p in db.PostedListings) { try { string sourcrUrl = p.SourceUrl; var result = await Scrape.GetDetail(sourcrUrl); Console.WriteLine("processing " + (++i) + " of " + count.ToString()); if (!string.IsNullOrEmpty(result.availability)) { if (result.availability.Contains("Out of stock")) { var myListing = await scrapeAPI.ebayAPIs.GetSingleItem(p.ListedItemID, appid); if (myListing.Qty > 0) { Console.WriteLine("OUT OF STOCK " + p.Title); string reviseResult = scrapeAPI.ebayAPIs.ReviseQty(p.ListedItemID, qty: 0); dsutil.DSUtil.WriteFile(Log_File, p.ListedItemID + " " + p.Title); dsutil.DSUtil.WriteFile(Log_File, p.SourceUrl); dsutil.DSUtil.WriteFile(Log_File, reviseResult); string ret = await dsutil.DSUtil.SendMailProd("*****@*****.**", "OUT OF STO " + p.Title, "revise listing", "localhost"); if (!string.IsNullOrEmpty(ret)) { dsutil.DSUtil.WriteFile(Log_File, "prod email failed: " + ret); ret = dsutil.DSUtil.SendMailDev("*****@*****.**", "OUT OF STO " + p.Title, "revise listing"); if (!string.IsNullOrEmpty(ret)) { dsutil.DSUtil.WriteFile(Log_File, "dev email failed: " + ret); } } } else { dsutil.DSUtil.WriteFile(Log_File, p.ListedItemID + " " + p.Title); dsutil.DSUtil.WriteFile(Log_File, p.SourceUrl); dsutil.DSUtil.WriteFile(Log_File, "Listing quantity already set to 0 - no action taken."); } dsutil.DSUtil.WriteFile(Log_File, string.Empty); } } } catch (Exception exc) { dsutil.DSUtil.WriteFile(Log_File, "ERROR: " + p.ListedItemID + " " + exc.Message); } } dsutil.DSUtil.WriteFile(Log_File, string.Format("Processed {0} listings.", count)); }