Advertisement
Guest User

Untitled

a guest
Feb 21st, 2019
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.97 KB | None | 0 0
  1. static void Main(string[] args)
  2.         {
  3.             Console.CursorVisible = false;
  4.  
  5.             UruchomSfere();
  6.  
  7.             IAsortymenty menedzerAsortymentow = sfera.PodajObiektTypu<IAsortymenty>();
  8.             IJednostkiMiar menedzerJednostekMiar = sfera.PodajObiektTypu<IJednostkiMiar>();
  9.  
  10.             IPodmioty menedzerPodmiotow = sfera.PodajObiektTypu<IPodmioty>();
  11.  
  12.             ICenniki cenniki = sfera.PodajObiektTypu<ICenniki>();
  13.  
  14.             Cennik cennik = cenniki.Dane.Wszystkie().Where(c => c.Tytul == "Internetowa").FirstOrDefault();
  15.             ICennik cennikBO = cenniki.Znajdz(cennik);
  16.  
  17.             string SaturnNIP = "7541344298";
  18.             string AbNIP     = "8951628481";
  19.  
  20.  
  21.             var podmioty = menedzerPodmiotow.Dane.Wszystkie();
  22.  
  23.             var asortyment = menedzerAsortymentow.Dane.Wszystkie();
  24.  
  25.             var saturn = podmioty.Where(a => a.NIP == SaturnNIP).FirstOrDefault();
  26.  
  27.             int niezapisane = 0;
  28.  
  29.             foreach(var d in saturn.DaneAsortymentow)
  30.             {
  31.  
  32.                 /*
  33.                  * d.symbol  == symbol u dostawcy
  34.                  */
  35.                 if (d.Symbol == string.Empty)
  36.                 {
  37.                     Console.ForegroundColor = ConsoleColor.DarkYellow;
  38.                     Console.WriteLine("Pomijam produkt bez symbolu dostawcy [{0}] {1}", d.Asortyment.Symbol, d.Asortyment.Nazwa);
  39.                     Console.ResetColor();
  40.                     continue;
  41.                 }
  42.  
  43.                 Console.WriteLine("[{0}, {1}] {2} ", d.Asortyment.Symbol, d.Symbol, d.Asortyment.Nazwa);
  44.                 var o = menedzerAsortymentow.Znajdz(d.Asortyment);
  45.  
  46.                 var dostawcy = o.Dane.Dostawcy();
  47.  
  48.                 if(dostawcy.Where(a => a.Podmiot.NIP == AbNIP).Count() > 0)
  49.                 {
  50.                     Console.ForegroundColor = ConsoleColor.DarkYellow;
  51.                     Console.WriteLine("Pomijam dostawce AB");
  52.                     Console.ResetColor();
  53.                     continue;
  54.                 }
  55.  
  56.                
  57.                 var r = Curl.Get("https://sklepsaturn.pl/product/search?query=" + d.Symbol);
  58.  
  59.                 var f = MatchKey(r, "href=\"/([-0-9A-z]+).html\"><img alt=\"[^\"]+");
  60.  
  61.                 var StronaProduktu = Curl.Get(string.Format("https://sklepsaturn.pl/{0}.html", f));
  62.  
  63.                 HtmlDocument resultat = new HtmlDocument();
  64.                 resultat.LoadHtml(StronaProduktu);
  65.  
  66.                 var html = resultat.DocumentNode.Descendants();
  67.  
  68.                 var opis = html.Where(x => (x.Name == "div" && x.Attributes["class"] != null && x.Attributes["class"].Value.Contains("description tinymce_html"))).ToList().FirstOrDefault();
  69.                 o.Dane.Opis = opis.InnerText;
  70.  
  71.                 var galeria = html
  72.                     .Where(x => (x.Name == "div" && x.Attributes["class"] != null && x.Attributes["class"].Value.Contains("product-gallery")))
  73.                     .ToList()
  74.                     .FirstOrDefault();
  75.  
  76.  
  77.  
  78.                 HtmlDocument biblioteka = new HtmlDocument();
  79.                 biblioteka.LoadHtml(galeria.InnerHtml);
  80.  
  81.                 var zdjecia = biblioteka.DocumentNode.Descendants().Where(x => x.Name == "img").Select(a => a.Attributes["src"]);
  82.  
  83.                 var dokumenty = o.MediaDokumenty();
  84.  
  85.                 if (dokumenty.Count == 0)
  86.                 {
  87.                     int IdZdj = 1;
  88.                     foreach (var zdj in zdjecia)
  89.                     {
  90.                         Console.WriteLine(zdj.Value);
  91.                         string url = string.Format("http://sklepsaturn.pl{0}", zdj.Value);
  92.                         string fileUrl = string.Format(@"{0}\synchronizacjaSaturn_Symbol-{1}_IDX-{2}.png", Path.GetTempPath(), d.Symbol, IdZdj++);
  93.  
  94.                         using (WebClient client = new WebClient())
  95.                         {
  96.                             client.DownloadFile(new Uri(url), fileUrl);
  97.  
  98.                             Console.ForegroundColor = ConsoleColor.Green;
  99.                             Console.WriteLine("Pobieram zdjęcie: {0}", url);
  100.  
  101.                             if (File.Exists(fileUrl))
  102.                             {
  103.                                 dokumenty.ImportujMediaDokument(fileUrl);
  104.                                 Console.ForegroundColor = ConsoleColor.DarkGreen;
  105.                                 Console.WriteLine("Dodaję zdjęcie: {0}", fileUrl);
  106.                             }
  107.                         }
  108.                         File.Delete(fileUrl);
  109.                     }
  110.                 }
  111.                 else
  112.                 {
  113.                     Console.ForegroundColor = ConsoleColor.DarkMagenta;
  114.                     Console.WriteLine("Pomijam dodawnie zdjęć. Aktualnie jest ich: {0}", dokumenty.Count);
  115.                 }
  116.                 Console.ResetColor();
  117.  
  118.                 using (StreamWriter sw = File.CreateText(string.Format("{0}/HTMLSaturn/{1}.txt", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), d.Symbol)))
  119.                 {
  120.                     sw.Write(galeria.InnerHtml);  
  121.                 }
  122.  
  123.                 o.Zapisz();
  124.  
  125.  
  126.                 var pozycje = cennikBO.ZnajdzPozycjeCennika(o.Dane);
  127.                 var poz = pozycje.FirstOrDefault();
  128.                 var oPoz = poz.RozpocznijEdycje();
  129.                 Console.WriteLine(oPoz.Dane.CenaNetto);
  130.                 oPoz.Dane.CenaNetto = Convert.ToDecimal(MatchKey(StronaProduktu, "st_product_options-price-netto\">([0-9,.]+)"));
  131.                 //oPoz.Dane.CenaBrutto = Convert.ToDecimal(MatchKey(StronaProduktu, "st_product_options-price-brutto\">([0-9,.]+)"));
  132.                 oPoz.Zapisz();
  133.                 poz.ZakonczEdycje();
  134.  
  135.  
  136.                 if (niezapisane++ >= 10) {
  137.                     cennikBO.Zapisz();
  138.                     niezapisane = 0;
  139.                 }
  140.             }
  141.  
  142.             if(niezapisane > 0 ) cennikBO.Zapisz();
  143.  
  144.             Console.WriteLine("PROGRAM ZAKOŃCZYŁ PRACĘ");
  145.             Console.ReadLine();
  146.            
  147.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement