Ejemplo n.º 1
0
 public void UpdateProductData(ArrowProduct ArrowProduct)
 {
     try
     {
         LabelLog("Update product data !!");
         using (SqlConnection sqlConnection = new SqlConnection(connection))
         {
             sqlConnection.Open();
             SqlCommand sqlCommand = new SqlCommand("update [dbo].[tbl_Arrow_Product] set itemtitle=@itemtitle,Productdescription=@Productdescription,MPN=@MPN,Manufacturename=@Manufacturename,productcategory=@productcategory,UOM=@UOM,price=@price,imageurl=@imageurl,category=@category,techspec=@techspec where Productid=@id", sqlConnection);
             sqlCommand.CommandType = CommandType.Text;
             sqlCommand.Parameters.AddWithValue("@itemtitle", (ArrowProduct.itemtitle == null) ? "" :ReplaceString.PutString(ArrowProduct.itemtitle));
             sqlCommand.Parameters.AddWithValue("@Productdescription", (ArrowProduct.Productdescription == null) ? "" : ReplaceString.PutString(ArrowProduct.Productdescription));
             sqlCommand.Parameters.AddWithValue("@MPN", (ArrowProduct.MPN == null) ? "" : ReplaceString.PutString(ArrowProduct.MPN));
             sqlCommand.Parameters.AddWithValue("@Manufacturename", (ArrowProduct.Manufacturename == null) ? "" : ReplaceString.PutString(ArrowProduct.Manufacturename));
             sqlCommand.Parameters.AddWithValue("@productcategory", (ArrowProduct.productcategory == null) ? "" : ReplaceString.PutString(ArrowProduct.productcategory));
             sqlCommand.Parameters.AddWithValue("@UOM", (ArrowProduct.UOM == null) ? "" : ReplaceString.PutString(ArrowProduct.UOM));
             sqlCommand.Parameters.AddWithValue("@price", (ArrowProduct.price == null) ? "" : ReplaceString.PutString(ArrowProduct.price));
             sqlCommand.Parameters.AddWithValue("@imageurl", (ArrowProduct.imageurl == null) ? "" : ReplaceString.PutString(ArrowProduct.imageurl));
             sqlCommand.Parameters.AddWithValue("@category", (ArrowProduct.category == null) ? "" : ReplaceString.PutString(ArrowProduct.category));
             sqlCommand.Parameters.AddWithValue("@techspec", (ArrowProduct.techspec == null) ? "" : ReplaceString.PutString(ArrowProduct.techspec));
             //sqlCommand.Parameters.AddWithValue("@ProductURL", SourceLink);
             sqlCommand.Parameters.AddWithValue("@id", sourceid);
             sqlCommand.ExecuteNonQuery();
         }
     }
     catch (Exception ex)
     {
         LabelLog("updateing product data failed!!");
     }
 }
Ejemplo n.º 2
0
 private void ProcessArrowHTML()
 {
     //timer.Stop();
     ArrowProduct = new ArrowProduct();
     breadcrum    = new StringBuilder();
     try
     {
         DownloadedString = fbrowser.DocumentSource.ToString();
         h1 = new HtmlAgilityPack.HtmlDocument();
         h1.LoadHtml(DownloadedString);
         try
         {
             ArrowProduct.itemtitle = h1.DocumentNode.SelectSingleNode("//i[@class='Product-Summary-SubHeading-ProductLine']").InnerText.ToString().Replace("\n", "").Trim();
         }
         catch
         {
             ArrowProduct.itemtitle = "";
         }
         try
         {
             ArrowProduct.Productdescription = h1.DocumentNode.SelectNodes("//p[@class='Product-Summary-Details']")[2].InnerText.ToString().Replace("\n", "").Trim();
         }
         catch
         {
             ArrowProduct.Productdescription = "";
         }
         try
         {
             ArrowProduct.Manufacturename = h1.DocumentNode.SelectNodes("//p[@class='Product-Summary-Details']")[0].InnerText.ToString().Replace("\n", "").Trim();
         }
         catch
         {
             ArrowProduct.Manufacturename = "";
         }
         try
         {
             ArrowProduct.MPN = h1.DocumentNode.SelectSingleNode("//span[@class='product-summary-name--Original']").InnerText.ToString().Replace("\n", "").Trim();
         }
         catch
         {
         }
         try
         {
             ArrowProduct.productcategory = h1.DocumentNode.SelectNodes("//p[@class='Product-Summary-Details']")[1].InnerText.ToString().Replace("\n", "").Trim();
         }
         catch
         {
             ArrowProduct.productcategory = "";
         }
         try
         {
             ArrowProduct.UOM = h1.DocumentNode.SelectSingleNode("//span[@class='BuyingOptions-caption BuyingOptions-total-priceFor']").InnerText.ToString().Trim().Replace("\n", "").Trim();
         }
         catch
         {
             ArrowProduct.UOM = "";
         }
         try
         {
             ArrowProduct.price = h1.DocumentNode.SelectSingleNode("//span[@class='BuyingOptions-total-price ng-star-inserted']").InnerText.ToString().Replace("\n", "").Trim();
         }
         catch
         {
             ArrowProduct.price = "";
         }
         try
         {
             ArrowProduct.imageurl = "https:" + h1.DocumentNode.SelectSingleNode("//img[@class='Product-Summary-Image']").Attributes["src"].Value.ToString().Replace("\n", "").Trim();
         }
         catch
         {
             try
             {
                 ArrowProduct.imageurl = h1.DocumentNode.SelectNodes("//a[@class='Product-Summary-ImageCarousel-slide slick-slide slick-current slick-active is-active ng-star-inserted']").Select(s => "https:" + s.Attributes["data-image"].Value).Aggregate((a, b) => a + " | " + b).ToString().Replace("\n", "").Trim();
             }
             catch
             {
                 try
                 {
                     ArrowProduct.imageurl = "https:" + h1.DocumentNode.SelectSingleNode("//img[@class='PDPImageModal-image ng-star-inserted']").Attributes["src"].Value.ToString();
                 }
                 catch
                 {
                     ArrowProduct.imageurl = "";
                 }
             }
         }
         try
         {
             HtmlNodeCollection htmlNodeCollection = h1.DocumentNode.SelectNodes("//li[@class='Breadcrumb-item ng-star-inserted']");
             foreach (HtmlNode item in (IEnumerable <HtmlNode>)htmlNodeCollection)
             {
                 breadcrum.Append(item.InnerText.ToString().Trim() + " | ");
             }
             ArrowProduct.category = breadcrum.ToString().Replace("\n", "").Trim();
         }
         catch
         {
             ArrowProduct.category = "";
         }
         try
         {
             spec = new StringBuilder();
             try
             {
                 HtmlNodeCollection htmlNodeCollection2 = h1.DocumentNode.SelectNodes("//tr[@class='row ng-star-inserted']");
                 foreach (HtmlNode item2 in (IEnumerable <HtmlNode>)htmlNodeCollection2)
                 {
                     h2 = new HtmlAgilityPack.HtmlDocument();
                     h2.LoadHtml(item2.InnerHtml.ToString());
                     HtmlNodeCollection htmlNodeCollection3 = h2.DocumentNode.SelectNodes("//td");
                     try
                     {
                         spec.Append(htmlNodeCollection3[0].InnerText.ToString().Trim() + " : " + htmlNodeCollection3[1].InnerText.ToString().Trim() + " | ");
                     }
                     catch
                     {
                     }
                 }
             }
             catch { }
             try
             {
                 HtmlNodeCollection htmlNodeCollection4 = h1.DocumentNode.SelectNodes("//tr[@class='row SimpleAccordion-toggle ng-star-inserted']");
                 foreach (HtmlNode item2 in (IEnumerable <HtmlNode>)htmlNodeCollection4)
                 {
                     h2 = new HtmlAgilityPack.HtmlDocument();
                     h2.LoadHtml(item2.InnerHtml.ToString());
                     HtmlNodeCollection htmlNodeCollection5 = h2.DocumentNode.SelectNodes("//td");
                     try
                     {
                         spec.Append(htmlNodeCollection5[0].InnerText.ToString().Trim() + " : " + htmlNodeCollection5[1].InnerText.ToString().Trim() + " | ");
                     }
                     catch
                     {
                     }
                 }
             }
             catch { }
             ArrowProduct.techspec = spec.ToString().Replace("\n", "").Trim();
         }
         catch
         {
             ArrowProduct.techspec = "";
         }
     }
     catch (Exception)
     {
     }
     finally
     {
         if (string.IsNullOrEmpty(DownloadedString))
         {
             ArrowProduct.itemtitle = "404 Error";
             UpdateProductData(ArrowProduct);
         }
         else
         {
             UpdateProductData(ArrowProduct);
         }
         breadcrum    = null;
         ArrowProduct = null;
         h2           = null;
         h1           = null;
         spec         = null;
         num++;
         DownloadedString = string.Empty;
         //ProcessArrowLinkAsync();
     }
 }