public IActionResult Save(SaveSearchViewModel s) { // save search into db try { _context.Database.ExecuteSqlCommand("SET foreign_key_checks = 0;"); _context.SavedSearch.Add(s.SavedSearch); _context.SaveChanges(); var lastInserted = _context.SavedSearch.Last(); var id = lastInserted.SavedSearchId; s.Result.SavedSearchId = id; _context.Result.Add(s.Result); _context.SaveChanges(); } catch (Exception e) { Console.WriteLine(e); throw; } return(RedirectToAction("SavedSearch", "Home")); }
public async Task <IActionResult> Result(string search) { var amazon = new AmazonScraper(); var ebay = new EbayScraper(); var jLewis = new JohnLewisScraper(); Hashtable amazonResults; Hashtable ebayResults; Hashtable jLewisResults; ViewBag.ProductDescription = search; // scrape retailers try { jLewisResults = await jLewis.ScrapePricesForProduct(search); ebayResults = await ebay.ScrapePricesForProduct(search); amazonResults = await amazon.ScrapePricesForProduct(search); } catch (Exception e) { Console.WriteLine(e); throw; } // create new result var result = new Result() { Date = DateTime.Now, AmazonPrice = Convert.ToDouble(amazonResults["Formatted Price"]), EbayPrice = Convert.ToDouble(ebayResults["Formatted Price"]), JohnLewisPrice = Convert.ToDouble(jLewisResults["Formatted Price"]), AmazonLink = amazonResults["Product Link"].ToString(), AmazonHeading = amazonResults["Product Heading"].ToString(), EbayLink = ebayResults["Product Link"].ToString(), EbayHeading = ebayResults["Product Heading"].ToString(), JohnLewisHeading = jLewisResults["Product Heading"].ToString(), JohnLewisLink = jLewisResults["Product Link"].ToString(), }; //create Saved Search var savedSearch = new SavedSearch() { CreatedDate = DateTime.Now, Description = search, }; // create save search view model var viewModel = new SaveSearchViewModel() { Result = result, SavedSearch = savedSearch }; return(View(viewModel)); }
public void Execute(object parameter) { if (!CanExecute(parameter)) { return; } var viewModel = new SaveSearchViewModel(MessageBus, GetSearchResults(), false); var window = new SaveSearchWindow() { DataContext = viewModel }; window.ShowDialog(); }