public async Task <string[]> GetSiteInfo(string url) { url = HttpUtility.UrlDecode(url); string[] res = await PriceScraper.FetchData(url); return(res); }
public async Task <ActionResult> DbUpdate(string authKey) { if (authKey != MailConfig.SendPass) { return(NoContent()); } var Listings = _context.TrackLists.Where(e => e.UserId != 7).ToList(); foreach (var item in Listings) { float price = 0f; try { string[] info = await PriceScraper.FetchData(item.PageUrl); price = float.Parse(info[1]); if (item.MaxPrice >= price) { MailSender.MakeEmail(item.ListedEmail, item.ItemName, info[1], item.PageUrl, item.Vendor); } } catch { RemoveItem(item.Id); continue; } var nodes = _context.ListTrends.Where(e => e.TrackListId == item.Id).ToList(); bool isMax = false; nodes.ForEach(e => e.DaysAgo += 1); if (nodes.Count == 30) { isMax = true; } PriceRecord NewNode = new PriceRecord { DaysAgo = 0, Price = price, ItemName = item.ItemName, TrackListId = item.Id }; _context.ListTrends.Add(NewNode); _context.SaveChanges(); if (isMax) { CapList(item.Id); } } return(Ok()); }