Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static void Main(string[] args)
- {
- Console.CursorVisible = false;
- UruchomSfere();
- IAsortymenty menedzerAsortymentow = sfera.PodajObiektTypu<IAsortymenty>();
- IJednostkiMiar menedzerJednostekMiar = sfera.PodajObiektTypu<IJednostkiMiar>();
- IPodmioty menedzerPodmiotow = sfera.PodajObiektTypu<IPodmioty>();
- ICenniki cenniki = sfera.PodajObiektTypu<ICenniki>();
- Cennik cennik = cenniki.Dane.Wszystkie().Where(c => c.Tytul == "Internetowa").FirstOrDefault();
- ICennik cennikBO = cenniki.Znajdz(cennik);
- string SaturnNIP = "7541344298";
- string AbNIP = "8951628481";
- var podmioty = menedzerPodmiotow.Dane.Wszystkie();
- var asortyment = menedzerAsortymentow.Dane.Wszystkie();
- var saturn = podmioty.Where(a => a.NIP == SaturnNIP).FirstOrDefault();
- int niezapisane = 0;
- foreach(var d in saturn.DaneAsortymentow)
- {
- /*
- * d.symbol == symbol u dostawcy
- */
- if (d.Symbol == string.Empty)
- {
- Console.ForegroundColor = ConsoleColor.DarkYellow;
- Console.WriteLine("Pomijam produkt bez symbolu dostawcy [{0}] {1}", d.Asortyment.Symbol, d.Asortyment.Nazwa);
- Console.ResetColor();
- continue;
- }
- Console.WriteLine("[{0}, {1}] {2} ", d.Asortyment.Symbol, d.Symbol, d.Asortyment.Nazwa);
- var o = menedzerAsortymentow.Znajdz(d.Asortyment);
- var dostawcy = o.Dane.Dostawcy();
- if(dostawcy.Where(a => a.Podmiot.NIP == AbNIP).Count() > 0)
- {
- Console.ForegroundColor = ConsoleColor.DarkYellow;
- Console.WriteLine("Pomijam dostawce AB");
- Console.ResetColor();
- continue;
- }
- var r = Curl.Get("https://sklepsaturn.pl/product/search?query=" + d.Symbol);
- var f = MatchKey(r, "href=\"/([-0-9A-z]+).html\"><img alt=\"[^\"]+");
- var StronaProduktu = Curl.Get(string.Format("https://sklepsaturn.pl/{0}.html", f));
- HtmlDocument resultat = new HtmlDocument();
- resultat.LoadHtml(StronaProduktu);
- var html = resultat.DocumentNode.Descendants();
- var opis = html.Where(x => (x.Name == "div" && x.Attributes["class"] != null && x.Attributes["class"].Value.Contains("description tinymce_html"))).ToList().FirstOrDefault();
- o.Dane.Opis = opis.InnerText;
- var galeria = html
- .Where(x => (x.Name == "div" && x.Attributes["class"] != null && x.Attributes["class"].Value.Contains("product-gallery")))
- .ToList()
- .FirstOrDefault();
- HtmlDocument biblioteka = new HtmlDocument();
- biblioteka.LoadHtml(galeria.InnerHtml);
- var zdjecia = biblioteka.DocumentNode.Descendants().Where(x => x.Name == "img").Select(a => a.Attributes["src"]);
- var dokumenty = o.MediaDokumenty();
- if (dokumenty.Count == 0)
- {
- int IdZdj = 1;
- foreach (var zdj in zdjecia)
- {
- Console.WriteLine(zdj.Value);
- string url = string.Format("http://sklepsaturn.pl{0}", zdj.Value);
- string fileUrl = string.Format(@"{0}\synchronizacjaSaturn_Symbol-{1}_IDX-{2}.png", Path.GetTempPath(), d.Symbol, IdZdj++);
- using (WebClient client = new WebClient())
- {
- client.DownloadFile(new Uri(url), fileUrl);
- Console.ForegroundColor = ConsoleColor.Green;
- Console.WriteLine("Pobieram zdjęcie: {0}", url);
- if (File.Exists(fileUrl))
- {
- dokumenty.ImportujMediaDokument(fileUrl);
- Console.ForegroundColor = ConsoleColor.DarkGreen;
- Console.WriteLine("Dodaję zdjęcie: {0}", fileUrl);
- }
- }
- File.Delete(fileUrl);
- }
- }
- else
- {
- Console.ForegroundColor = ConsoleColor.DarkMagenta;
- Console.WriteLine("Pomijam dodawnie zdjęć. Aktualnie jest ich: {0}", dokumenty.Count);
- }
- Console.ResetColor();
- using (StreamWriter sw = File.CreateText(string.Format("{0}/HTMLSaturn/{1}.txt", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), d.Symbol)))
- {
- sw.Write(galeria.InnerHtml);
- }
- o.Zapisz();
- var pozycje = cennikBO.ZnajdzPozycjeCennika(o.Dane);
- var poz = pozycje.FirstOrDefault();
- var oPoz = poz.RozpocznijEdycje();
- Console.WriteLine(oPoz.Dane.CenaNetto);
- oPoz.Dane.CenaNetto = Convert.ToDecimal(MatchKey(StronaProduktu, "st_product_options-price-netto\">([0-9,.]+)"));
- //oPoz.Dane.CenaBrutto = Convert.ToDecimal(MatchKey(StronaProduktu, "st_product_options-price-brutto\">([0-9,.]+)"));
- oPoz.Zapisz();
- poz.ZakonczEdycje();
- if (niezapisane++ >= 10) {
- cennikBO.Zapisz();
- niezapisane = 0;
- }
- }
- if(niezapisane > 0 ) cennikBO.Zapisz();
- Console.WriteLine("PROGRAM ZAKOŃCZYŁ PRACĘ");
- Console.ReadLine();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement