示例#1
0
        protected override ProductLineVendor GetObjectFromReader(IDataReader reader)
        {
            var newProductLineVendor = new ProductLineVendor();

            try
            {
                var artikul = XlsProvider.GetFieldValueFromReader <string>(reader, "Код товара");

                int intArticil;
                if (!int.TryParse(artikul, out intArticil))                 // articul должен быть 7 символов
                {
                    return(null);
                }

                newProductLineVendor.Articul = artikul;
                newProductLineVendor.Name    = XlsProvider.GetFieldValueFromReader <string>(reader, "Название товара");

                newProductLineVendor.PriceRaschet = ParserHelper.GetDecimal(XlsProvider.GetFieldValueFromReader <string>(reader, "Расч# цена"));
                newProductLineVendor.Price        = ParserHelper.GetDecimal(XlsProvider.GetFieldValueFromReader <string>(reader, "Цена продажи"));
                newProductLineVendor.PriceBase    = ParserHelper.GetDecimal(XlsProvider.GetFieldValueFromReader <string>(reader, "Базовая цена"));
                newProductLineVendor.PriceDiff    = ParserHelper.GetDecimal(XlsProvider.GetFieldValueFromReader <string>(reader, "Цена продажи – Базовая цена"));
            }
            catch
            {
                // errors.Add(worksheet.Cells[currentRow, GetColumnIndex(properties, "Код товара")].Value as string);
                return(null);
            }
            return(newProductLineVendor);
        }
示例#2
0
        private void DownloadFile()
        {
            // —качиваем файл
            HttpWebResponse myHttpWebResponse = ParserHelper.HttpQuery(
                this.UrlDownload,
                true,
                //ispost
                "",
                //params
                "application/x-www-form-urlencoded", _cookieCont, UrlBase);

            var stream = myHttpWebResponse.GetResponseStream();

            XlsProvider.SaveStreamToFile(this.PriceFullFileName, stream);
        }
示例#3
0
        protected IEnumerable <T> GetPriceListFromCache(out List <string> errors, bool isUpdateCacheFromInternet)
        {
            errors = new List <string>();

            string key = string.Format(PRICE_LIST_BY_TYPE_KEY, this.GetType().Name);

            if (isUpdateCacheFromInternet)
            {
                if (DownloadNewPriceListToCache())
                {
                    _cacheManager.Remove(key);
                }
            }

            var result = _cacheManager.Get(key, -1, () => {
                this.mLogger.Debug("Start " + this.GetType().Name + ".GetPriceListFromFileCache...");

                try
                {
                    this.ResultList = XlsProvider.LoadFromFile <T>(this.PriceFullFileName, GetObjectFromReader, SheetNameFirst);

                    this.PostProcessing();
                }
                catch (Exception ex)
                {
                    this.mLogger.Error(ex.Message, ex);
                    this.mLogger.Error("Not success GetPriceListFromCache.");
                    throw;
                }

                this.mLogger.Debug("End  " + this.GetType().Name + ".GetPriceListFromFileCache.");

                var distinctedResult = this.ResultList.GroupBy(x => x.Articul).Select(grp => grp.First());
                return(distinctedResult);
            });

            return(result);
        }
示例#4
0
        protected override ProductLineVendor GetObjectFromReader(IDataReader reader)
        {
            var newProductLineVendor = new ProductLineVendor();

            try
            {
                var existing = XlsProvider.GetFieldValueFromReader <string>(reader, "????? ????") == "есть";               // Склад Киев

                if (!existing)
                {
                    return(null);
                }

                var artikul = XlsProvider.GetFieldValueFromReader <string>(reader, "???");                // Код

                int intArticil;
                if (!int.TryParse(artikul, out intArticil))                 // articul должен быть 7 символов
                {
                    return(null);
                }

                newProductLineVendor.Articul = artikul;
                newProductLineVendor.Name    = XlsProvider.GetFieldValueFromReader <string>(reader, "?????");            // Товар

                //newProductLineVendor.PriceRaschet = GetInt(XlsProvider.GetFieldValueFromReader<string>(reader, "Склад Киев"));
                //newProductLineVendor.Price = GetInt(XlsProvider.GetFieldValueFromReader<string>(reader, "Цена продажи"));
                //newProductLineVendor.PriceBase = GetInt(XlsProvider.GetFieldValueFromReader<string>(reader, "Базовая цена"));
                //newProductLineVendor.PriceDiff = GetInt(XlsProvider.GetFieldValueFromReader<string>(reader, "Цена продажи – Базовая цена"));
            }
            catch
            {
                // errors.Add(worksheet.Cells[currentRow, GetColumnIndex(properties, "Код товара")].Value as string);
                return(null);
            }
            return(newProductLineVendor);
        }