public static string ValidateSize(string brand, string category, string sizeUS, string sizeEU, string sizeUK, string sizeCM, SizeChart sizeChart = null)
        {
            var log = String.Empty;

            if (ValidateBrand(brand))
            {
                if (ValidateCategory(category))
                {
                    //проверяю есть ли такой размер в таблице размеров (по разным размерным сеткам)
                    if (sizeChart == null)
                    {
                        sizeChart = SizeChart.ReadSizeChartJson();
                    }

                    var size       = new Size(brand, category, sizeUS, sizeEU, sizeUK, sizeCM, null);
                    var resultSize = sizeChart.GetSize(size, out log);
                    if (resultSize == null)
                    {
                        return(log);
                    }
                    else
                    {
                        return(null); //если null значит всё норм
                    }
                }
                else
                {
                    log = "ValidateSize failed. Reason: wrong category. Class Validator. Category value: " + category;
                    return(log);
                }
            }
            else
            {
                log = "ValidateSize failed. Reason: wrong brand. Class Validator. Brand value: " + brand;
                return(log);
            }
        }
        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);
        }
Exemple #4
0
 public ShopValidator()
 {
     _sizeChart = SizeChart.ReadSizeChartJson();
 }