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); }
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); }
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); }
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); }