コード例 #1
0
        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"));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        public void Execute(object parameter)
        {
            if (!CanExecute(parameter))
            {
                return;
            }

            var viewModel = new SaveSearchViewModel(MessageBus, GetSearchResults(), false);
            var window    = new SaveSearchWindow()
            {
                DataContext = viewModel
            };

            window.ShowDialog();
        }