public WithoutPhotoExporter()
 {
     Catalog             = new FullCatalog();
     WithoutPhotoCatalog = new Catalog();
     //CheckExistPhoto();
     CreateCatalog();
     WithoutPhotoCatalog.SaveCatalogToCSV(@"C:\Users\Администратор\YandexDisk\sneaker-icon\Export\Work\withoutphoto.csv");
 }
Exemplo n.º 2
0
        public FullCatalog UpdateLines(FullCatalog catalog, DateTime?date)
        {
            if (catalog != null)
            {
                brendRepository.AddOrUpdateRange(catalog.Brends);
                equipmentRepository.AddOrUpdateRange(catalog.Equipments);
                toolTypeRepository.AddOrUpdateRange(catalog.ToolTypes);
            }

            return(GetLines(date));
        }
Exemplo n.º 3
0
        public async Task <FullCatalog> Update(FullCatalog catalog, DateTime?date = null)
        {
            var data        = JsonConvert.SerializeObject(catalog);
            var url         = $"{httpUrl}/updatelines{GetDate(date)}";
            var httpContent = new StringContent(data, Encoding.UTF8, "application/json");

            using (var response = await client.PostAsync(url, httpContent))
            {
                var responseDataString = await response.Content.ReadAsStringAsync();

                return(JsonConvert.DeserializeObject <FullCatalog>(responseDataString));
            }
        }
Exemplo n.º 4
0
        private static AllStockRoot CreateAllStock(FullCatalog fullCatalog, ShopCatalogRoot jsonCatalog)
        {
            AllStockRoot allstock = new AllStockRoot();

            foreach (var jsonMarket in jsonCatalog.markets)
            {
                RootParsingObject market = Parsing.Model.RootParsingObject.ReadJsonMarketFromFtp(jsonMarket);
                if (market != null)
                {
                    AddMarketToAllStock(market, fullCatalog, allstock, jsonMarket);
                }
            }
            allstock.update_time = DateTime.Now;
            return(allstock);
        }
Exemplo n.º 5
0
        public UPCDB()
        {
            var appSettings = ConfigurationManager.AppSettings;
            var timeDelay   = appSettings["upcdbTimeDelaySec"];

            _timeDelay   = Int32.Parse(timeDelay);
            _doRequest   = 0;
            _limitRequst = 1;
            //fullCatalog = new FullCatalog();
            string fullCatalogFileName = "FullCatalog.csv";

            GetFileFromFtp(fullCatalogFileName, fullCatalogFileName);
            fullCatalog = new FullCatalog(fullCatalogFileName);
            GetFileFromFtp(myJsonFileName, myJsonFileName);
            GetFileFromFtp(_stopListFileName, _stopListFileName);
        }
        public AvitoExporter()
        {
            fullCatalog = new FullCatalog();
            //records = new List<StockRecord>();
            catalog = new Catalog();
            string manFileName   = @"C:\Users\Администратор\YandexDisk\sneaker-icon\Parsing\discont_msk_kuzminki\man.csv";
            string womanFileName = @"C:\Users\Администратор\YandexDisk\sneaker-icon\Parsing\discont_msk_kuzminki\woman.csv";

            post_list = new Dictionary <string, string>();
            ReadPostList();

            ReadStockFromCSV("Мужская", manFileName);
            ReadStockFromCSV("Женская", womanFileName);
            LoadImages();
            SaveToCSV();
        }
Exemplo n.º 7
0
        public static AllStockRoot Run()
        {
            var          jsonCatalog = ShopCatalogRoot.ReadFromFtp();
            var          fullCatalog = new FullCatalog();
            AllStockRoot allstock    = CreateAllStock(fullCatalog, jsonCatalog);

            //когда оллсток создан, нужно его прогнать и отсортировать все офферы, чтобы первым был с самой низкой ценой
            SortOffers(allstock);

            Program.Logger.Info("Артикулов в фулкаталог: " + fullCatalog.sneakers.Count);
            Program.Logger.Info("Артикулов в оллсток: " + allstock.sneakers.Count);
            Program.Logger.Info("Размеров в оллсток: " + allstock.GetCountSizes());
            Program.Logger.Info("Офферов в оллсток: " + allstock.GetCountOffers());


            //затем нужно прогнать весь оллсток и, там где нет юпс, добавить их из upcdb
            var folder = Config.GetConfig().DirectoryPathParsing + @"allstock\";

            SaveJson(allstock, "allstock.json", folder);
            return(allstock);
        }
Exemplo n.º 8
0
        public Exporter()
        {
            catalog       = new FullCatalog();
            DiscontSamara = new DiscontStock(Config.GetConfig().DiscontStockFilename);
            DiscontSamara.AddSaleToRecords();
            Kuzminki      = new DiscontStock(Config.GetConfig().DiscontKuzminkyFilename);
            DiscontStocks = new List <DiscontStock>();
            DiscontStocks.Add(DiscontSamara);
            //DiscontStocks.Add(Kuzminki);
            NashStock1 = new NashStock(Config.GetConfig().NashStockFilename);
            ShopStocks = new List <OnlineShopStock>();

            //queens
            Queens               = new OnlineShopStock(QueensParser.NAME, QueensParser.STOCK_FILENAME, QueensParser.CURRENCY);
            Queens.Marzha        = QueensParser.MARZHA;
            Queens.DeliveryToUSA = QueensParser.DELIVERY_TO_USA;
            Queens.VatValue      = QueensParser.VAT_VALUE;
            ShopStocks.Add(Queens);

            //streetbeat
            StreetBeat               = new OnlineShopStock(StreetBeatParser.NAME, StreetBeatParser.STOCK_FILENAME, StreetBeatParser.CURRENCY);
            StreetBeat.Marzha        = StreetBeatParser.MARZHA;
            StreetBeat.DeliveryToUSA = StreetBeatParser.DELIVERY_TO_USA;
            StreetBeat.VatValue      = StreetBeatParser.VAT_VALUE;
            ShopStocks.Add(StreetBeat);

            //einhalb
            Einhalb               = new OnlineShopStock(EinhalbParser.NAME, EinhalbParser.STOCK_FILENAME, EinhalbParser.CURRENCY);
            Einhalb.Marzha        = EinhalbParser.MARZHA;
            Einhalb.DeliveryToUSA = EinhalbParser.DELIVERY_TO_USA;
            Einhalb.VatValue      = EinhalbParser.VAT_VALUE;
            ShopStocks.Add(Einhalb);

            //basketshop
            BasketShop               = new OnlineShopStock(BasketShopParser.NAME, BasketShopParser.STOCK_FILENAME, BasketShopParser.CURRENCY);
            BasketShop.Marzha        = BasketShopParser.MARZHA;
            BasketShop.DeliveryToUSA = BasketShopParser.DELIVERY_TO_USA;
            ShopStocks.Add(BasketShop);

            //sivas
            Sivas               = new OnlineShopStock(SivasParser.NAME, SivasParser.STOCK_FILENAME, SivasParser.CURRENCY);
            Sivas.Marzha        = SivasParser.MARZHA;
            Sivas.DeliveryToUSA = SivasParser.DELIVERY_TO_USA;
            ShopStocks.Add(Sivas);

            //titolo
            Titolo               = new OnlineShopStock(TitoloParser.NAME, TitoloParser.STOCK_FILENAME, TitoloParser.CURRENCY);
            Titolo.Marzha        = TitoloParser.MARZHA;
            Titolo.DeliveryToUSA = TitoloParser.DELIVERY_TO_USA;
            Titolo.VatValue      = TitoloParser.VAT_VALUE;
            ShopStocks.Add(Titolo);

            //sns
            Sneakersnstuff               = new OnlineShopStock(SneakersnstuffParser.NAME, SneakersnstuffParser.STOCK_FILENAME, SneakersnstuffParser.CURRENCY);
            Sneakersnstuff.Marzha        = SneakersnstuffParser.MARZHA;
            Sneakersnstuff.DeliveryToUSA = SneakersnstuffParser.DELIVERY_TO_USA;
            Sneakersnstuff.VatValue      = SneakersnstuffParser.VAT_VALUE;
            ShopStocks.Add(Sneakersnstuff);

            //overkill
            Overkillshop               = new OnlineShopStock(OverkillshopParser.NAME, OverkillshopParser.STOCK_FILENAME, OverkillshopParser.CURRENCY);
            Overkillshop.Marzha        = OverkillshopParser.MARZHA;
            Overkillshop.DeliveryToUSA = OverkillshopParser.DELIVERY_TO_USA;
            Overkillshop.VatValue      = OverkillshopParser.VAT_VALUE;
            ShopStocks.Add(Overkillshop);

            //solehaven
            Solehaven               = new OnlineShopStock(SolehavenParser.NAME, SolehavenParser.STOCK_FILENAME, SolehavenParser.CURRENCY);
            Solehaven.Marzha        = SolehavenParser.MARZHA;
            Solehaven.DeliveryToUSA = SolehavenParser.DELIVERY_TO_USA;
            Solehaven.VatValue      = SolehavenParser.VAT_VALUE;
            ShopStocks.Add(Solehaven);

            //afew
            Afew               = new OnlineShopStock(AfewStoreParser.NAME, AfewStoreParser.STOCK_FILENAME, AfewStoreParser.CURRENCY);
            Afew.Marzha        = AfewStoreParser.MARZHA;
            Afew.DeliveryToUSA = AfewStoreParser.DELIVERY_TO_USA;
            Afew.VatValue      = AfewStoreParser.VAT_VALUE;
            ShopStocks.Add(Afew);

            SuppaStore               = new OnlineShopStock(SuppaStoreParser.NAME, SuppaStoreParser.STOCK_FILENAME, SuppaStoreParser.CURRENCY);
            SuppaStore.Marzha        = SuppaStoreParser.MARZHA;
            SuppaStore.DeliveryToUSA = SuppaStoreParser.DELIVERY_TO_USA;
            SuppaStore.VatValue      = SuppaStoreParser.VAT_VALUE;
            ShopStocks.Add(SuppaStore);

            Chmielna               = new OnlineShopStock(ChmielnaParser.NAME, ChmielnaParser.STOCK_FILENAME, ChmielnaParser.CURRENCY);
            Chmielna.Marzha        = ChmielnaParser.MARZHA;
            Chmielna.DeliveryToUSA = ChmielnaParser.DELIVERY_TO_USA;
            Chmielna.VatValue      = ChmielnaParser.VAT_VALUE;
            ShopStocks.Add(Chmielna);

            BdgaStore               = new OnlineShopStock(BdgastoreParser.NAME, BdgastoreParser.STOCK_FILENAME, BdgastoreParser.CURRENCY);
            BdgaStore.Marzha        = BdgastoreParser.MARZHA;
            BdgaStore.DeliveryToUSA = BdgastoreParser.DELIVERY_TO_USA;
            BdgaStore.VatValue      = BdgastoreParser.VAT_VALUE;
            ShopStocks.Add(BdgaStore);

            AsfaltGold               = new OnlineShopStock(AsphaltgoldParser.NAME, AsphaltgoldParser.STOCK_FILENAME, AsphaltgoldParser.CURRENCY);
            AsfaltGold.Marzha        = AsphaltgoldParser.MARZHA;
            AsfaltGold.DeliveryToUSA = AsphaltgoldParser.DELIVERY_TO_USA;
            AsfaltGold.VatValue      = AsphaltgoldParser.VAT_VALUE;
            ShopStocks.Add(AsfaltGold);
        }
Exemplo n.º 9
0
        // ReSharper disable once RedundantAssignment
        public static void Main(string[] args)
        {
#if Feanor
            Logger.Info("Feanor mode!");
            args = new[] { "-DownloadImage" };
            //args = new string[] { "-afew" };
            //args = new string[] { "-bonanza_export" };
            //args = new string[] { "-upcdb" };

            //args = new string[] { "-nashStockParseCSVinJSONandGoToFTP" };
            //args = new string[] { "-basketshop_einhalb_queens" };
#elif DEBUG
            Logger.Info("Debug mode!");
            args = new[] { "-debug" };
            //args = new[] { "-snkrs.com" };
            //args = new[] { "-ValidateAllShops" };
            //args = new[] { "-DbCreate" };
            //args = new[] { "-DbController.DownloadImages" };
            //args = new[] { "-BonanzaExport3OnlyBonanza" };
            //args = new[] { "-BonanzaExport3" };
            //args = new[] { "-LoadVkGoods" };
            //args = new[] { "-SivasAB" };
            //args = new[] { "-PostHotOfferVk" };
            //args = new[] { "-SivasAB" };
            //args = new[] { "-snsAllBrands" };
            //args = new[] { "-OnlyBonanzaExport2" };
            //args = new[] { "-BonanzaExport2" };
            //args = new[] { "-AvitoNovoslob" };
#else
            Console.WriteLine("Release mode!");
#endif

            var startTime = DateTime.Now;

            if (args.Count() > 0)
            {
                Logger.Info("Параметр:" + args[0]);

                if (args[0] == "-AvitoNovoslob")
                {
                    //парсим файл дисконта, создаем csv и json файлы
                    //DiscontMskNovoslobParser novoslobParser = new DiscontMskNovoslobParser();
                    //novoslobParser.Run();

                    //добавляем инфу в фулкаталог
                    //FullCatalog2.Run();
                    Logger.Info("FullCatalog2 created");

                    //подгружаем фотки
                    //FullCatalog2.UpdateFullCatalogImages();
                    //FullCatalog2.LoadImagesToFullCatalogFromImagesFolder();
                    Logger.Info("FullCatalog2 images updated");

                    //делаем фид ля авито
                    AvitoMskNovoslobExporter.Run();
                    Logger.Info("Avito Feed created");
                }

                if (args[0] == "-SivasAB")
                {
                    SivasParserAB sivasParserAb = new SivasParserAB();
                    sivasParserAb.Run();
                }

                if (args[0] == "-snkrs.com")
                {
                    SnkrsComParserAllBrands snrks = new SnkrsComParserAllBrands();
                    snrks.Run();
                }

                if (args[0] == "-snsAllBrands")
                {
                    SneakersnstuffParserAllBrands snsAllBrands = new SneakersnstuffParserAllBrands();
                    //snsAllBrands.ParseOneSneaker("https://www.sneakersnstuff.com/en/product/25821/reebok-question-lux");
                    snsAllBrands.Run();
                }

                if (args[0] == "-LoadVkGoods")
                {
                    var vkExporter = new VkExporter();
                    vkExporter.Run();
                }

                if (args[0].Equals("-feanor"))
                {
                    //Bitmap image1 = (Bitmap)Image.FromFile(@"C:\test\test.jpg", true);

                    //var color0 = image1.GetPixel(0, 0);
                    //var color1 = image1.GetPixel(1, 0);
                    //var color2 = image1.GetPixel(0, image1.Height - 1);
                    //var color3 = image1.GetPixel(1, image1.Height - 1);



                    //var blackLine = true;
                    ////string hex = "#FFFFFF";
                    ////Color _color = System.Drawing.ColorTranslator.FromHtml(hex);

                    //for (var i = 0; i < image1.Width; i++)
                    //{
                    //    var color = image1.GetPixel(i, image1.Height - 1);

                    //    if (color.B < 253 && color.G < 253 && color.R < 253)
                    //    {
                    //        blackLine = false;
                    //    }

                    //}

                    //Console.WriteLine("blackLine");



                    //var vkExporter = new VkExporter();
                    //vkExporter.Run();


                    //var id = 798354;

                    //var array = new List<string>
                    //{
                    //    "http://img.sneaker-icon.ru/shops/16/images/860558-001-1.jpg",
                    //    "http://img.sneaker-icon.ru/shops/16/images/860558-001-2.jpg",
                    //    "http://img.sneaker-icon.ru/shops/16/images/860558-001-3.jpg",
                    //    "http://img.sneaker-icon.ru/shops/16/images/860558-001-4.jpg"
                    //};

                    //var sizeArray = new List<Size>
                    //{
                    //    new Size("brand", "category", "us1", "eu1", "uk1", "cm1", "ru1"),
                    //    new Size("brand", "category", "us2", "eu2", "uk2", "cm2", "ru2"),
                    //    new Size("brand", "category", "us3", "eu3", "uk3", "cm3", "ru3"),
                    //    new Size("brand", "category", "us4", "eu4", "uk4", "cm4", "ru4"),
                    //    new Size("brand", "category", "us5", "eu5", "uk5", "cm5", "ru5")
                    //};

                    //var vkGood = new VkGoodsItem()
                    //{
                    //    Name = "NoName",
                    //    Description = "Other Description",
                    //    Price = 500,
                    //    Images = array,
                    //    Sizes = sizeArray
                    //};

                    //var vk = new VkPosting();
                    ////var idAdd =  vk.AddOrEditVkGoods(vkGood, 798354);
                    //vk.DeleteVkGoods(id);
                }

                if (args[0] == "-bonanza_export")
                {
                    // ReSharper disable once UnusedVariable
                    CreateCatalog createCatalog = new CreateCatalog();
                    FullCatalog.CleanFullCatalog(); //очищаем каталог от левых артикулов, поправляем названия и бренды. костыль
                    Logger.Info("FullCatalog created");

                    CurrencyRate currate = new CurrencyRate();
                    currate.Run();
                    AllStockExporter exporter = new AllStockExporter();
                    exporter.CreateAllStockList();
                    Logger.Info("AllStock created");

                    BonanzaExporter bonanza = new BonanzaExporter();
                    bonanza.Run();
                    Logger.Info("Bonanza created");
                    TiuExporter tiu = new TiuExporter();
                    tiu.Run();
                    Logger.Info("Tiu created");
                    SneakerIconExporter sneakerIconExporter = new SneakerIconExporter();
                    sneakerIconExporter.Run();
                    Logger.Info("Sneaker-icon.ru.csv created");

                    //FullCatalog2.Run();
                    //Console.WriteLine("FullCatalog2 created");

                    //FullCatalog2.PostNewTodayItems();

                    //AllStockExporter2.Run();
                    //Console.WriteLine("AllStock2 created");
                }

                if (args[0] == "-BonanzaExport2")
                {
                    FullCatalog2.Run();
                    Logger.Info("FullCatalog2 created");

                    FullCatalog2.UpdateFullCatalogImages();
                    FullCatalog2.LoadImagesToFullCatalogFromImagesFolder();
                    Logger.Info("FullCatalog2 images updated");

                    AllStockExporter2.Run();
                    Logger.Info("AllStock2 created");

                    BonanzaExporter2.Run();
                    Logger.Info("Bonanza2 created");
                }

                if (args[0] == "-OnlyBonanzaExport2")
                {
                    BonanzaExporter2.Run();
                    Logger.Info("Bonanza2 created");
                }

                if (args[0] == "-ValidateAllShops")
                {
                    ValidatorAllBrands.ValidateAllShops();
                }

                if (args[0] == "-DbCreate")
                {
                    var db = new DbController();
                    db.Create();
                    Logger.Info("DB created");
                }

                if (args[0] == "-DbController.DownloadImages")
                {
                    DbController.DownloadImages();
                }

                if (args[0] == "-BonanzaExport3OnlyBonanza")
                {
                    BonanzaExporterAllBrands bnnzAllBrands = new BonanzaExporterAllBrands();
                    bnnzAllBrands.Run();
                }

                if (args[0] == "-BonanzaExport3")
                {
                    ValidatorAllBrands.ValidateAllShops();

                    DbController db = new DbController();
                    db.Create();
                    Logger.Info("DB created");

                    DbController.DownloadImages();

                    BonanzaExporterAllBrands bnnzAllBrands = new BonanzaExporterAllBrands();
                    bnnzAllBrands.Run();
                }

                if (args[0] == "-sivas_sale_parser")
                {
                    CurrencyRate currate = new CurrencyRate();
                    currate.Run();
                    SivasSaleParser sivasSale = new SivasSaleParser();
                    sivasSale.Run();
                }

                if (args[0] == "-basketshop")
                {
                    BasketShopParser basketShopParser = new BasketShopParser();
                    basketShopParser.Update();
                }

                if (args[0] == "-einhalb")
                {
                    //BasketShopParser basketShopParser = new BasketShopParser();
                    EinhalbParser einhalpParser = new EinhalbParser();
                    //QueensParser queensParser = new QueensParser();
                    //basketShopParser.Update();
                    einhalpParser.Update();
                    //queensParser.Update();
                }

                if (args[0] == "-queens")
                {
                    //BasketShopParser basketShopParser = new BasketShopParser();
                    //EinhalbParser einhalpParser = new EinhalbParser();
                    QueensParser queensParser = new QueensParser();
                    //basketShopParser.Update();
                    //einhalpParser.Update();
                    queensParser.Update();
                }

                if (args[0] == "-basketshop_einhalb_queens")
                {
                    BasketShopParser basketShopParser = new BasketShopParser();
                    EinhalbParser    einhalpParser    = new EinhalbParser();
                    QueensParser     queensParser     = new QueensParser();
                    basketShopParser.Update();
                    einhalpParser.Update();
                    queensParser.Update();
                }

                if (args[0] == "-streetbeat")
                {
                    //парсится 1 минуту
                    StreetBeatParser strbeatParse = new StreetBeatParser();
                    strbeatParse.Update();
                }

                if (args[0] == "-sneakersnstuff")
                {
                    //70 минут парсится
                    SneakersnstuffParser sneakerStuff = new SneakersnstuffParser();
                    sneakerStuff.Run();
                }

                if (args[0] == "-SivasAllBrands")
                {
                    SivasParserAB siavParserAb = new SivasParserAB();
                    siavParserAb.Run();
                }

                if (args[0] == "-overkillshop")
                {
                    //14 минут парсится
                    OverkillshopParser overkillshop = new OverkillshopParser();
                    overkillshop.Run();
                }

                if (args[0] == "-afew")
                {
                    AfewStoreParser afew = new AfewStoreParser();
                    afew.Run();
                }

                if (args[0] == "-suppa")
                {
                    //7 минут парсится
                    SuppaStoreParser suppa = new SuppaStoreParser();
                    suppa.Run();
                }

                if (args[0] == "-chmielna")
                {
                    //3 минуты парсится
                    ChmielnaParser chmielna = new ChmielnaParser();
                    chmielna.Run();
                }

                if (args[0] == "-viktor")
                {
                    SivasParser sivas = new SivasParser();
                    sivas.Run2();
                    SolehavenParser solehaven = new SolehavenParser();
                    solehaven.Run();
                    TitoloParser titolo = new TitoloParser();
                    titolo.Run2();
                    BdgastoreParser bdgastore = new BdgastoreParser();
                    bdgastore.Run();
                    AsphaltgoldParser asfaltgold = new AsphaltgoldParser();
                    asfaltgold.Run();

                    NashStockParser nashStockParser = new NashStockParser();
                    nashStockParser.Run();
                    DiscontSamaraParser discont = new DiscontSamaraParser();
                    discont.Run();
                }

                if (args[0] == "-upcdb")
                {
                    for (var i = 0; i < 300; i++)
                    {
                        var upcdb = new UPCDB();
                        upcdb.run3(10);
                    }
                }

                if (args[0] == "-UpdateFullCatalogImages")
                {
                    FullCatalog2.UpdateFullCatalogImages();
                    FullCatalog2.LoadImagesToFullCatalogFromImagesFolder();
                }

                if (args[0] == "-HotOffers")
                {
                    //HotOffers.Run();
                    FullCatalog2.PostNewTodayItems();
                    HotOffers.Run2(5);
                }

                if (args[0] == "-NewToday")
                {
                    FullCatalog2.PostNewTodayItems();
                }

                if (args[0] == "-DownloadImage")
                {
                    var imageDownload = new ImageDownload();
                    imageDownload.Run();
                }

                if (args[0] == "-DownloadImageForStock")
                {
                    var imageDownload = new ImageDownload();
                    try
                    {
                        Logger.Debug("Введите номер стока");
                        var numberString = Console.ReadLine();
                        Logger.Debug("Номер стока " + numberString);

                        if (numberString == null)
                        {
                            throw new NullReferenceException("numberString = null");
                        }

                        var number = int.Parse(numberString);

                        imageDownload.RunForStock(number);
                    }
                    catch (Exception e)
                    {
                        Logger.Error(e, "Ошибка при распознавании номера стока");
                    }
                }

                if (args[0] == "-Avito")
                {
                    AvitoExporter3.Run();
                }

                if (args[0] == "-AvitoDiscontSamaraToSamara")
                {
                    AvitoDiscontSamaraToSamara.Run();
                }

                if (args[0] == "-PostHotOfferVk")
                {
                    var rnd = new Random().Next(61); //случайная задержка в минутах
                    Logger.Info("Задержка: " + rnd);
                    Thread.Sleep(rnd * 60 * 1000);
                    HotOffers.PostVkRandomOffer();
                }

                if (args[0] == "-DiscontParsing")
                {
                    //из файла самарского дисконта делаем лист стокрекорд
                    //csv файл должен быть в формате utf-8 и разделен точкой с запятой
                    DiscontStock dStock = new DiscontStock();
                    dStock.ParseStockOnHand(Config.GetConfig().DirectoryPath + @"Parsing\discont\Stock On Hand.csv");
                    dStock.SaveStockToCSV(Config.GetConfig().DirectoryPath + @"Parsing\discont\StockDiscont.csv");
                    dStock.ParseStockOnHand2(Config.GetConfig().DirectoryPath + @"Parsing\discont\Stock On Hand.csv");
                    dStock.SaveStockToCSV2(Config.GetConfig().DirectoryPath + @"Parsing\discont\StockDiscont2.csv");
                }

                if (args[0] == "-AllBrandsDownloadImages")
                {
                    DbController.DownloadImages();
                }

                if (args[0] == "-debug")
                {
                    var lodkiLarisa = new LarisaLodki();
                    var lodki       = lodkiLarisa.ParseLodki();

                    //var upwork = new UpworkCarelulu();
                    //upwork.Run();

                    //PortfolioMobiInterestComUpworkParser.Run();

                    //var d = Parser.GetHtmlPagePhantomJs("http://httpbin.org/ip");

                    //SizeChartAllBrands sizeChartAllBrands = new SizeChartAllBrands();
                    //sizeChartAllBrands.LoadSizeChartFromFtp();

                    //ShopValidatorAllBrands validator = new ShopValidatorAllBrands();
                    //validator.ValidateShop("snkrs.com");

                    //MyTelegram.PostMessageWaitRelease("test");
                    //BonanzaExporterAllBrands bnnzAllBrands = new BonanzaExporterAllBrands();
                    //bnnzAllBrands.Run();

                    //AvitoDiscontSamaraToSamara.Run();

                    //ValidatorAllBrands.ValidateAllShops();
                    //DbController.Update();


                    //var upcdb = new upcdb();
                    //upcdb.run2();

                    //Test.Crawlera();
                    //Test.Upcdb();

                    //AllStockExporter2.Run();

                    //FullCatalog.CleanFullCatalog();

                    //CreateCatalog createCatalog = new CreateCatalog();
                    //Console.WriteLine("FullCatalog created");

                    //FullCatalog.SaveCatalogToJson();

                    //FullCatalog2.Run();
                    //FullCatalog2.DeleteDuplicateItems();
                    //FullCatalog2.UpdateFullCatalogImages();

                    //NashStockParser nashStockParser = new NashStockParser();
                    //nashStockParser.Run();


                    //HotOffers.Run2(1);

                    //FullCatalog2.Run();
                    //Console.WriteLine("FullCatalog2 created");
                    //AllStockExporter2.Run();
                    //Console.WriteLine("AllStock2 created");

                    //FullCatalog2.PostNewTodayItems();

                    //AllStockExporter2.TestForDima();

                    // var imageDownload = new ImageDownload();
                    //imageDownload.Run();

                    //Helper.TelegramPost("test message", "-1001116441282");

                    //AvitoExporter3.SaveToXml(null);


                    //AvitoExporter3.Run();

                    //BonanzaExporter2.Run();
                    //BonanzaExporter2.Run2_MultiListing();

                    //Validator.ValidateAllShops();

                    //EinhalbParser einhalpParser = new EinhalbParser();
                    //einhalpParser.Run();

                    //Test.SortAllStock();

                    //Test.PostVk();

                    //FullCatalog2.DetectCategoryFromTitleAndUpdateFullCatalog();

                    //var hotOffers = HotOffers.CreateHotOffers();

                    //HotOffers.PostVkRandomOffer();

                    //Test.LoadVkGoods();
                    //FullCatalog2.LoadImagesToFullCatalogFromImagesFolder();

                    //SneakersnstuffParserAllBrands snsAllBrands = new SneakersnstuffParserAllBrands();
                    //snsAllBrands.ParseOneSneaker("https://www.sneakersnstuff.com/en/product/25821/reebok-question-lux");
                    //snsAllBrands.Run();
                }
            }
            else
            {
                Logger.Warn("Программа запущена без параметров");
            }


            //SivasParser sivas = new SivasParser();
            //sivas.Update();

            //TitoloParser titolo = new TitoloParser();
            //titolo.Run();

            //basketShopParser.Run();
            //einhalpParser.Run();
            //queensParser.Run();
            //strbeatParse.Run();
            //sivas.Run();


            //DiscontStock dStock = new DiscontStock();
            //dStock.ReadStockFromCSV();
            //dStock.AddSaleToRecords();
            //dStock.SaveStockToCSV();

            //из файла кузьминок делает лист стокрекорд
            //DiscontStock dStock = new DiscontStock();
            //dStock.ParseStockOnHand(@"C:\Users\Администратор\YandexDisk\fullCatalogSneaker-icon\Parsing\discont_msk_kuzminki\Stock On Hand.csv");
            //dStock.SaveStockToCSV(@"C:\Users\Администратор\YandexDisk\fullCatalogSneaker-icon\Parsing\discont_msk_kuzminki\StockDiscont.csv");
            //dStock.ParseStockOnHand2(@"C:\Users\Администратор\YandexDisk\fullCatalogSneaker-icon\Parsing\discont_msk_kuzminki\Stock On Hand.csv");
            //dStock.SaveStockToCSV2(@"C:\Users\Администратор\YandexDisk\fullCatalogSneaker-icon\Parsing\discont_msk_kuzminki\StockDiscont2.csv");

            //из файла самарского дисконта делаем лист стокрекорд
            //csv файл должен быть в формате utf-8 и разделен точкой с запятой
            //DiscontStock dStock = new DiscontStock();
            //dStock.ParseStockOnHand(Settings.DIRECTORY_PATH + @"Parsing\discont\Stock On Hand.csv");
            //dStock.SaveStockToCSV(Settings.DIRECTORY_PATH + @"Parsing\discont\StockDiscont.csv");
            //dStock.ParseStockOnHand2(Settings.DIRECTORY_PATH + @"Parsing\discont\Stock On Hand.csv");
            //dStock.SaveStockToCSV2(Settings.DIRECTORY_PATH + @"Parsing\discont\StockDiscont2.csv");

            //string StockDiscont2 = @"C:\Users\Администратор\YandexDisk\fullCatalogSneaker-icon\Parsing\discont\StockDiscont2.csv";
            //var discont = new DiscontStock();
            //discont.ReadStockFromCSV2(StockDiscont2);
            //bool isTrue = discont.AddStandtoRecords();
            //if (isTrue) discont.SaveStockToCSV2(StockDiscont2);

            //AmazonExporter amazonExporter = new AmazonExporter();
            //amazonExporter.run2();

            //AmazonExporter amazonExporter = new AmazonExporter();
            //amazonExporter.run3();


            //AmazonExporter amazonExporter = new AmazonExporter();
            //amazonExporter.run3();


            //BonanzaExporterAndrew bonanzaAndrew = new BonanzaExporterAndrew();
            //bonanzaAndrew.Run();

            //AvitoExporter avito = new AvitoExporter();

            //AvitoExporter2 avito2 = new AvitoExporter2();
            //avito2.Run();

            //Test test = new Test();

            //WithoutPhotoExporter withoutPhotoExporter = new WithoutPhotoExporter();


            //C:\SneakerIcon\repository\SneakerIcon\ConsoleApplication1\Classes\Utils\NetworkUtils.cs

            //SizeConverter sc = new SizeConverter("8", "Мужская");
            //string sizeEUR = sc.sizeEUR;

            //NashStock nashStock = new NashStock();
            //nashStock.ReadStockFromCSV();



            //var upcdb = new UPCDB();
            //upcdb.run2();

            //var addPhotos = new AddPhotos();
            //addPhotos.Run();

            //ModemReboot.Run();

            //SizeConverter.GenerateNikeSizeChart();

            if (args.Count() > 0)
            {
                Logger.Info("Параметр:" + args[0]);
            }
            var endTime = DateTime.Now;
            var dlit    = endTime - startTime;
            Logger.Info("Начало выполнения программы: " + startTime);
            Logger.Info("Конец выполения программы: " + endTime);
            Logger.Info("Длительность выполения, минут: " + dlit.TotalMinutes);
            Logger.Info("Выполнение программы завершено, нажмите любую клавишу");

            #if DEBUG
            Console.ReadLine();
            #elif Feanor
            Console.ReadLine();
            #else
            #endif
        }
Exemplo n.º 10
0
 public FullCatalog UpdateLines([FromBody] FullCatalog fullCatalog, [FromUri] DateTime?date = null)
 {
     return(catalogService.UpdateLines(fullCatalog, date));
 }
Exemplo n.º 11
0
        public void AddPhotosInFullCatalog()
        {
            //Добавить фотографии с моего сервера в файл каталога (в основном для товаров из дисконта)
            FullCatalog fullCatalog = new FullCatalog();

            foreach (var fullCatalogSneaker in fullCatalog.sneakers)
            {
                if (fullCatalogSneaker.images == null || fullCatalogSneaker.images.Count == 0)
                {
                    bool test = true;
                }
                if (fullCatalogSneaker.images.Count == 1)
                {
                    if (String.IsNullOrWhiteSpace(fullCatalogSneaker.images[0]))
                    {
                        List <string> images = new List <string>();
                        Console.WriteLine("check " + fullCatalogSneaker.sku);
                        for (int i = 1; i < 10; i++)
                        {
                            string url = "http://80.241.220.50/images2/" + fullCatalogSneaker.sku + "-" + i + ".jpg";

                            if (NetworkUtils.UrlExists(url))
                            {
                                images.Add(url);
                            }
                        }
                        if (images.Count > 0)
                        {
                            Console.WriteLine("add " + fullCatalogSneaker.sku);
                            fullCatalogSneaker.images = images;
                        }
                    }
                }
            }

            foreach (var fullCatalogSneaker in fullCatalog.sneakers)
            {
                if (fullCatalogSneaker.images == null || fullCatalogSneaker.images.Count == 0)
                {
                    bool test = true;
                }
                if (fullCatalogSneaker.images.Count == 1)
                {
                    if (String.IsNullOrWhiteSpace(fullCatalogSneaker.images[0]))
                    {
                        List <string> images = new List <string>();
                        Console.WriteLine("check " + fullCatalogSneaker.sku);
                        for (int i = 1; i < 10; i++)
                        {
                            string url = "http://80.241.220.50/images/" + fullCatalogSneaker.sku + "-" + i + ".jpg";

                            if (NetworkUtils.UrlExists(url))
                            {
                                images.Add(url);
                            }
                        }
                        if (images.Count > 0)
                        {
                            Console.WriteLine("add " + fullCatalogSneaker.sku);
                            fullCatalogSneaker.images = images;
                        }
                    }
                }
            }

            fullCatalog.SaveCatalogToCSV(fullCatalog.FileNameCatalog);
        }
Exemplo n.º 12
0
        private static void AddMarketToAllStock(RootParsingObject market, FullCatalog fullCatalog, AllStockRoot allstock, Shop jsonMarket)
        {
            foreach (var listing in market.listings)
            {
                var sneaker = allstock.sneakers.Find(x => x.sku == listing.sku);
                //если такого кроссовка еще не существует
                if (sneaker == null)
                {
                    //добавляем новый кроссовок в оллсток
                    var fullCatalogSneaker = fullCatalog.sneakers.Find(x => x.sku == listing.sku);

                    if (fullCatalogSneaker == null)
                    {
                        Program.Logger.Warn("sku: " + listing.sku + " does not exist in fullcatalog");
                    }
                    else
                    {
                        sneaker          = new AllStockSneaker();
                        sneaker.sku      = listing.sku;
                        sneaker.brand    = fullCatalogSneaker.brand;
                        sneaker.category = Helper.ConvertCategoryRusToEng(fullCatalogSneaker.category);
                        sneaker.title    = fullCatalogSneaker.title;
                        if (sneaker.sku == "854261-106")
                        {
                            bool test = true;
                        }
                        foreach (var size in listing.sizes)
                        {
                            var sizeAllStock = CreateSize(size, sneaker, listing, market, jsonMarket);
                            if (sizeAllStock != null)
                            {
                                sneaker.sizes.Add(sizeAllStock);
                            }
                        }

                        if (sneaker.sizes.Count > 0)
                        {
                            allstock.sneakers.Add(sneaker);
                        }
                    }
                }
                else
                {
                    /* Если кроссовок не нул, значит он уже есть в оллстоке
                     * Это значит, что нужно брать каждый размер из листинга, проверять, есть ли этот размер уже в этом кроссовке
                     * Если нет, то создавать размер и оффер
                     * Если размер есть, то к этому размеру создавать еще один оффер. Возможно тут же надо отсортировать офферы, чтобы с меньшей ценой был первым
                     * Если размер уже есть, то смотреть есть ли юпс
                     * Если юпс нет, то добавлять его, если есть проверять, одинаковый ли он, если нет, кидать варнинг
                     */
                    if (sneaker.sku == "854261-106")
                    {
                        bool test = true;
                    }
                    foreach (var size in listing.sizes)
                    {
                        if (size.us == null)
                        {
                            size.us = SizeConverters.SizeConverter.GetSizeUs(sneaker.brand, sneaker.category, size.eu, size.uk, size.cm);
                        }
                        if (size.us == null)
                        {
                            //значит размер левый или его нет в таблице размеров
                        }
                        else
                        {
                            var sizeAllStock = sneaker.sizes.Find(x => x.us == size.us);
                            if (sizeAllStock == null)
                            {
                                //если размера нет, создаем новый размер
                                sizeAllStock = CreateSize(size, sneaker, listing, market, jsonMarket);
                                if (sizeAllStock != null)
                                {
                                    sneaker.sizes.Add(sizeAllStock);
                                }
                            }
                            else
                            {
                                //если такой размер есть, то добавляем оффер и проверяем юпс
                                if (sizeAllStock.upc == null && size.upc != null)
                                {
                                    sizeAllStock.upc = size.upc;
                                }
                                var offer = CreateOffer(listing, market, jsonMarket);
                                sizeAllStock.offers.Add(offer);
                            }
                        }
                    }
                }
            }
            //throw new NotImplementedException();
        }