コード例 #1
0
 //todo: db insert
 public static void AddProductMonitor(productmonitor pm)
 {
     if (CurrentUser.ActiveProductMonitors.Find(p => p.productname == pm.productname) == null)
     {
         CurrentUser.ActiveProductMonitors.Add(pm);
     }
 }
コード例 #2
0
        protected void btnSubmit_Clicked(object sender, EventArgs e)
        {
            try
            {
                List<common.productmonitor> productmonitors = new List<common.productmonitor>();

                if (Session["newproductmonitor_rptResults"] != null)
                {
                    productmonitors = (List<common.productmonitor>)Session["newproductmonitor_rptResults"];
                }

                string url = tbProductURL.Text.Trim();

                //1.0
                //LoadXml(url);

                //2.0
                //XDocument page = XDocument.Load(url);
                //IEnumerable<XElement> productnames = page.Root.Elements("body").Where(p => (string)p.Attribute("id") == "btAsinTitle");

                //3.0
                //st<string> results = WebScrape(url);
                common.productmonitor pm = new common.productmonitor();
                common.webscraper ws = new common.webscraper();

                pm.url = url;
                pm.productname = ws.Scrape(url, common.dataaccess.CurrentUser.UserAgent.Rules.AmazonProductName, common.dataaccess.CurrentUser.UserAgent.AgentValue);
                pm.listprice = ws.Scrape(url, common.dataaccess.CurrentUser.UserAgent.Rules.AmazonProductListPrice, common.dataaccess.CurrentUser.UserAgent.AgentValue);
                pm.ourprice = ws.Scrape(url, common.dataaccess.CurrentUser.UserAgent.Rules.AmazonProductOurPrice, common.dataaccess.CurrentUser.UserAgent.AgentValue);
                pm.agentname = common.dataaccess.CurrentUser.UserAgent.AgentName;
                pm.datecreated = DateTime.Now;

                if ((!string.IsNullOrEmpty(pm.productname)) && (!string.IsNullOrEmpty(pm.listprice)))
                {
                    pm.scraperesult = 1;
                }

                productmonitors.Add(pm);
                common.dataaccess.AddProductMonitor(pm); //db insert

                Session["newproductmonitor_rptResults"] = productmonitors;
                rptResults.DataSource = productmonitors;
                rptResults.DataBind();

                lblMessage.Text = "Data Retrieved successfully. Product is now monitored for price changes.";
                lblMessage.ForeColor = System.Drawing.Color.Green;
                lblMessage.Visible = true;
            }
            catch (Exception ex)
            {
                lblMessage.Text = ex.ToString();
                lblMessage.ForeColor = System.Drawing.Color.Red;
                lblMessage.Visible = true;
            }
        }