private static HotOffer GetHotOfferFromAllStockSneaker(AllStockSneaker sneaker, FullCatalogRoot fullCatalog, double minMargin, double minSalePercent)
        {
            //определяем среднюю ритейл цену этого кросса в долларах
            var averageSneakerRegularPrice = GetAverageRegularPrice(sneaker);

            //смотрим, есть ли офферы, которые удовлетворяютм минимальным требованиям
            var sizes = GetHotOfferSizes(sneaker, averageSneakerRegularPrice, minMargin, minSalePercent);

            //если офферов больше нуля (ну то есть такие офферы, которые удовлетворяют условиям), то добавляем этот горячий пирожок в список горячих пирожков
            if (sizes.Count > 0)
            {
                var hOffer = new HotOffer();
                hOffer.sizes    = sizes;
                hOffer.sku      = sneaker.sku;
                hOffer.brand    = sneaker.brand;
                hOffer.title    = sneaker.title;
                hOffer.category = sneaker.category;
                var fcRecord = fullCatalog.records.Find(x => x.sku == sneaker.sku);
                if (fcRecord != null)
                {
                    hOffer.images = fcRecord.images;
                }
                hOffer.our_price     = hOffer.GetOurPrice();
                hOffer.regular_price = averageSneakerRegularPrice;
                hOffer.add_time      = DateTime.Now;
                return(hOffer);
            }
            else
            {
                return(null);
            }
        }
        private static void PostToTelegramForInsta(HotOffer offer)
        {
            var br = "\n";
            var m  = "HOT OFFER! 🔥";

            m += br + offer.title.ToUpper() + " " + offer.sku + " (" + offer.category + "'s)";
            m += br + "Regular price: $" + offer.regular_price;
            var sale_price = offer.our_price + MARGIN_USD;

            m += br + "Sale price: $" + sale_price;

            //var chatName = "@hot_offers_insta";
            var chatid = "-1001115230279";

            Helper.TelegramPost(m, chatid);
            System.Threading.Thread.Sleep(15000);

            m = "Images:" + br;
            foreach (var image in offer.images)
            {
                m += image + br;
            }
            Helper.TelegramPost(m, chatid);
            System.Threading.Thread.Sleep(15000);
        }
        public static void PostToVk(HotOffer offer)
        {
            var category = string.Empty;

            if (offer.category == "men")
            {
                category = "MEN'S";
            }
            else if (offer.category == "women")
            {
                category = "WOMEN'S";
            }
            else if (offer.category == "kids")
            {
                category = "KIDS";
            }
            else
            {
                throw new Exception("Wrong category");
            }

            var br = "\n";
            var m  = "🔥🔥🔥 СКИДКИ 🔥🔥🔥" + br;

            m += offer.title + " (" + category + ") " + offer.sku + br;
            m += "Обычная цена: " + CurrencyRate.ConvertUsdToRub(offer.regular_price) + " ₽" + br;
            m += "Цена со скидкой: " + CurrencyRate.ConvertUsdToRub(offer.our_price + MARGIN_USD) + " ₽" + br;
            m += "Оригинал. Доставляем по всей России и СНГ за 5-10 дней" + br;
            m += "Для заказа пишите в личку админу, в сообщения группы " + br + "или 89296495017 (Телеграм, Вотсап, Вибер)" + br;
            m +=
                @"#sneakericon #" + offer.category + " #nike #jordan #sneakers #sale #discount #найк #кроссовки #скидки #дисконт #распродажа #kicks #kicksonfire #kicks0l0gy #kicksoftheday #sneaker #sneakerhead";

            VkPosting vk = new VkPosting(vkGroupId);

            vk.PostIntoVkWall(m, offer.images);
        }
        private static async void PostPrivateToTelegram(HotOffer offer)
        {
            var message = "Горячее предложение\n"
                          + "Название: " + offer.title + " \n"
                          + "Артикул: " + offer.sku + "\n";
            var regPriceRub = CurrencyRate.ConvertCurrency("USD", "RUB", offer.regular_price);

            message += "Цена в розницу: " + offer.regular_price + " USD = " + regPriceRub + " RUB\n";
            var ourPriceRub = CurrencyRate.ConvertCurrency("USD", "RUB", offer.our_price);

            message += "Наша цена со скидкой: " + offer.our_price + " USD = " + ourPriceRub + "RUB\n";
            var rusCategory = Helper.ConvertEngToRusCategory(offer.sizes[0].size.category);

            message += "Категория: " + rusCategory + "\n";
            //sizes
            message += "\nДоступные размеры:\n";
            var sizeChart = SizeChart.ReadSizeChartJson();
            var shops     = new List <string>();
            var sizesUS   = new List <string>();
            var ourPrices = new List <double>();

            foreach (var offerSize in offer.sizes)
            {
                var size = sizeChart.GetSize(offerSize.size);
                if (size != null)
                {
                    message += size.us + " US / " + size.eu + " EU / " + size.uk + " UK / " + size.cm + " CM \n";
                    ourPrices.Add(offerSize.price);
                    //message += offerSize.price + "USD (with ship and return vat) \n";
                    if (!shops.Contains(offerSize.url))
                    {
                        shops.Add(offerSize.url);
                    }
                    //message += offerSize.url + "\n";
                }
                else
                {
                    Program.Logger.Warn("Ошибка в размере " + offer.title + " " + offer.sku);
                }
            }

            //our prices
            message += "\nНаша цена (с доставкой до РФ и вычетом VAT если есть)\n";
            foreach (var offerSize in offer.sizes)
            {
                var rubPrice = CurrencyRate.ConvertCurrency("USD", "RUB", offerSize.price);
                message += offerSize.size.us + " US: " + offerSize.price + "USD = " + rubPrice + "RUB\n";
            }

            //shops
            message += "\nОткуда брать:\n";
            foreach (var url in shops)
            {
                message += url + "\n";
            }

            //images
            message += "\nИзображения:\n";
            foreach (var image in offer.images)
            {
                message += image + "\n";
            }

            var chatId = "-1001101919442";
            await Helper.TelegramPost(message, chatId);
        }
        private static async void PostPublicToTelegram(HotOffer offer)
        {
            var message = "Горячее предложение\n"
                          + "Название: " + offer.title + " \n"
                          + "Артикул: " + offer.sku + "\n";
            var rusCategory = Helper.ConvertEngToRusCategory(offer.sizes[0].size.category);

            message += "Категория: " + rusCategory + "\n";

            message += "\nЦены: \n";
            var regPriceRub = CurrencyRate.ConvertCurrency("USD", "RUB", offer.regular_price);

            message += "Ритейл: " + offer.regular_price + " USD = " + regPriceRub + " RUB\n";
            var price       = offer.our_price + MARGIN_USD;
            var ourPriceRub = CurrencyRate.ConvertCurrency("USD", "RUB", price);

            message += "Наша: " + price + " USD = " + ourPriceRub + "RUB\n";

            //sizes
            message += "\nДоступные размеры:\n";
            var sizeChart = SizeChart.ReadSizeChartJson();
            var shops     = new List <string>();
            var sizesUS   = new List <string>();
            var ourPrices = new List <double>();

            foreach (var offerSize in offer.sizes)
            {
                var size = sizeChart.GetSize(offerSize.size);
                if (size != null)
                {
                    message += size.us + " US / " + size.eu + " EU / " + size.uk + " UK / " + size.cm + " CM \n";
                    ourPrices.Add(offerSize.price);
                    //message += offerSize.price + "USD (with ship and return vat) \n";
                    if (!shops.Contains(offerSize.url))
                    {
                        shops.Add(offerSize.url);
                    }
                    //message += offerSize.url + "\n";
                }
            }

            //
            message += "\nКак заказать:\n";
            message += "Звоните по телефону +78002001121 \n";
            message += "Пишите в WhatsApp, Viber: +79179549490 (Дмитрий)\n";
            message += "В Телеграм: @Sneaker_icon (Евгений)\n";
            //message += "Наша группа Вконтакте (отзывы о нашей работе с 2012 года): https://vk.com/sneaker_icon \n";


            message += "\nДоставка / Оплата \n";
            message += "Доставка по РФ и СНГ в течение 7-14 дней\n";
            message += "Работаем только по 100% предоплате\n";

            //images
            message += "\nИзображения:\n";
            foreach (var image in offer.images)
            {
                message += image + "\n";
            }

            var chatId = "@sneaker_icon_hot";
            await Helper.TelegramPost(message, chatId);
        }
示例#6
0
        public void PostIntoVkWall(HotOffer offer)
        {
            var text = offer.brand + " " + offer.title + " " + offer.sku;

            PostIntoVkWall(text, offer.images);
        }