private IList<DSZSKUModel> GetSupplierSKUList() { IList<DSZSKUModel> skuList = null; using (var webClient = new ThirdStoreWebClient()) { if (!Directory.Exists(ThirdStoreConfig.Instance.ThirdStoreDSZData)) Directory.CreateDirectory(ThirdStoreConfig.Instance.ThirdStoreDSZData); //var byCsv = webClient.DownloadData(Constants.DSZSKUListURL); var fileName = ThirdStoreConfig.Instance.ThirdStoreDSZData + "\\" + CommonFunc.ToCSVFileName("DSZData"); //var fileName = ThirdStoreConfig.Instance.ThirdStoreDSZData + "\\DSZData_20200602125553.csv"; //webClient.DownloadFile(@"https://idropship.com.au/pub/media/export_product_all_generic.csv", fileName); skuList = _csvContext.Read<DSZSKUModel>(fileName, _csvFileDescription).ToList(); //webClient.DownloadFile(Constants.DSZSKUListURL, fileName); //skuList=_csvContext.Read<DSZSKUModel>(fileName, _csvFileDescription).ToList(); //using (var ms = new MemoryStream(byCsv)) //{ // ms.Position = 0; // using (var sr = new StreamReader(ms)) // { // //var csvFileDescription = new CsvFileDescription() { SeparatorChar = ',', FirstLineHasColumnNames = true, IgnoreUnknownColumns = true, TextEncoding = Encoding.Default }; // //var csvContext = new CsvContext(); // skuList = _csvContext.Read<DSZSKUModel>(sr, _csvFileDescription).ToList(); // } //} if(skuList!=null) skuList = skuList.Where(s => !s.SKU.Contains("*") && !Regex.IsMatch(s.SKU, @"^V\d+")).ToList(); } return skuList; }
private void DownloadItemImages(List<string> imageURLs, D_Item item) { if (imageURLs == null || imageURLs.Count == 0) return; var createTime = DateTime.Now; var createBy = _workContext.CurrentUserName; if (item.ItemImages.Count > 0) { var itemImages = GetItemImagesByItemID(item.ID); foreach (var existPic in itemImages) DeleteItemImage(existPic); } int i = 0; using (var wc = new ThirdStoreWebClient()) { foreach (var imageURL in imageURLs) { try { var imgBytes = wc.DownloadData(imageURL); using (var stream = new MemoryStream(imgBytes)) { var fileName = item.SKU + "-" + i.ToString().PadLeft(2, '0') + ".jpg"; var imgObj = _imageService.SaveImage(stream, fileName); item.ItemImages.Add(new M_ItemImage() { Image = imgObj, DisplayOrder = i, StatusID = 0,//TODO Get item active status id CreateTime = createTime, CreateBy = createBy, EditTime = createTime, EditBy = createBy }); } } catch (Exception ex) { LogManager.Instance.Error(imageURL + " download failed. " + ex.Message); } i++; } } }
private void PreDownloadItemImages(List<string> imageURLs, D_Item newItem) { #region Pre-Download and Save Images grouped by SKU DirectoryInfo di = new DirectoryInfo(@"C:\Users\gdutj\Downloads\3rdStockSystem\DSImages20200615\" + newItem.SKU + "\\"); if (!di.Exists) { di.Create(); } using (var wc = new ThirdStoreWebClient()) { int i = 1; foreach (var imageURL in imageURLs) { try { var imageFileName = newItem.SKU + "-" + i.ToString().PadLeft(2, '0') + ".jpg"; var saveImageFileFullName = Path.Combine(di.FullName, imageFileName); wc.DownloadFile(imageURL, saveImageFileFullName); } catch (Exception ex) { LogManager.Instance.Error(imageURL + " download failed. " + ex.Message); } i++; } } #endregion }
public IList <D_Item> GetDSData() { var retItems = new List <D_Item>(); try { IList <SelloDSModel> dsDatas = null; using (var webClient = new ThirdStoreWebClient()) { if (!Directory.Exists(this.DSDataPath)) { Directory.CreateDirectory(this.DSDataPath); } var fileName = this.DSDataPath + "\\" + CommonFunc.ToCSVFileName("SelloDSData"); webClient.DownloadFile(DSDataURL, fileName); dsDatas = _csvContext.Read <SelloDSModel>(fileName, _csvFileDescription).ToList(); if (dsDatas != null) { foreach (var dsData in dsDatas) { var newItem = new D_Item(); if (dsData.sku.Length > 23) { LogManager.Instance.Info($"SKU {dsData.sku} length is larger than 23."); } newItem.SKU = dsData.sku; newItem.Name = dsData.name; newItem.Description = dsData.description; newItem.Cost = dsData.special_price; newItem.Price = (newItem.Cost) * _commonSetting.DropshipMarkupRate; newItem.Type = ThirdStoreItemType.SINGLE.ToValue(); newItem.SupplierID = ThirdStoreSupplier.S.ToValue(); newItem.GrossWeight = (!string.IsNullOrWhiteSpace(dsData.weight) ? Convert.ToDecimal(dsData.weight) : 0); newItem.NetWeight = (!string.IsNullOrWhiteSpace(dsData.weight) ? Convert.ToDecimal(dsData.weight) : 0); newItem.Length = (!string.IsNullOrWhiteSpace(dsData.length) ? Convert.ToDecimal(dsData.length) / 100 : 0); newItem.Width = (!string.IsNullOrWhiteSpace(dsData.width) ? Convert.ToDecimal(dsData.width) / 100 : 0); newItem.Height = (!string.IsNullOrWhiteSpace(dsData.height) ? Convert.ToDecimal(dsData.height) / 100 : 0); newItem.Ref3 = dsData.UPC?.Trim(); newItem.IsReadyForList = (dsData.sku.Length <= 23 && dsData.special_price > Convert.ToDecimal(ThirdStoreConfig.Instance.SyncDSPriceAbove) ? true : false); newItem.IsActive = true; var imagesURL = GetImageURLList(dsData); if (imagesURL.Count > 0) { newItem.Ref5 = imagesURL.Aggregate((current, next) => current + ";" + next); } retItems.Add(newItem); } } } return(retItems); } catch (Exception ex) { LogManager.Instance.Error(ex.Message); throw ex; } }
private void DownloadItemImages(DSZSKUModel dszData,D_Item item) { var createTime = DateTime.Now; var createBy= _workContext.CurrentUserName; if(item.ItemImages.Count>0) { var itemImages = GetItemImagesByItemID(item.ID); foreach (var existPic in itemImages) DeleteItemImage(existPic); } var imagesURL = new List<string>(); if (!string.IsNullOrEmpty(dszData.Image1)) imagesURL.Add(dszData.Image1); if (!string.IsNullOrEmpty(dszData.Image2)) imagesURL.Add(dszData.Image2); if (!string.IsNullOrEmpty(dszData.Image3)) imagesURL.Add(dszData.Image3); if (!string.IsNullOrEmpty(dszData.Image4)) imagesURL.Add(dszData.Image4); if (!string.IsNullOrEmpty(dszData.Image5)) imagesURL.Add(dszData.Image5); if (!string.IsNullOrEmpty(dszData.Image6)) imagesURL.Add(dszData.Image6); if (!string.IsNullOrEmpty(dszData.Image7)) imagesURL.Add(dszData.Image7); if (!string.IsNullOrEmpty(dszData.Image8)) imagesURL.Add(dszData.Image8); if (!string.IsNullOrEmpty(dszData.Image9)) imagesURL.Add(dszData.Image9); if (!string.IsNullOrEmpty(dszData.Image10)) imagesURL.Add(dszData.Image10); if (!string.IsNullOrEmpty(dszData.Image11)) imagesURL.Add(dszData.Image11); if (!string.IsNullOrEmpty(dszData.Image12)) imagesURL.Add(dszData.Image12); if (!string.IsNullOrEmpty(dszData.Image13)) imagesURL.Add(dszData.Image13); if (!string.IsNullOrEmpty(dszData.Image14)) imagesURL.Add(dszData.Image14); if (!string.IsNullOrEmpty(dszData.Image15)) imagesURL.Add(dszData.Image15); int i = 0; using (var wc = new ThirdStoreWebClient()) { foreach (var imageURL in imagesURL) { try { var imgBytes = wc.DownloadData(imageURL); using (var stream = new MemoryStream(imgBytes)) { var fileName = dszData.SKU + "-" + i.ToString().PadLeft(2, '0') + ".jpg"; var imgObj = _imageService.SaveImage(stream, fileName); item.ItemImages.Add(new M_ItemImage() { Image = imgObj, DisplayOrder = i, StatusID = 0,//TODO Get item active status id CreateTime = createTime, CreateBy = createBy, EditTime = createTime, EditBy = createBy }); } } catch (Exception ex) { LogManager.Instance.Error(imageURL + " download failed. " + ex.Message); } i++; } } }
private void RestoreItemImages(List<string> imageURLs, D_Item newItem) { #region Fetch/Restore from Pre-Downloaded Images DirectoryInfo di = new DirectoryInfo(@"C:\Users\gdutj\Downloads\3rdStockSystem\DSImages20200615\" + newItem.SKU + "\\"); if (di.Exists) { var imageFiles = di.GetFiles("*", SearchOption.AllDirectories); int j = 0; foreach (var fi in imageFiles) { //Image img = Image.FromFile(imgFile); using (var stream = new MemoryStream(System.IO.File.ReadAllBytes(fi.FullName))) { var fileName = newItem.SKU + "-" + j.ToString().PadLeft(2, '0') + ".jpg"; var imgObj = _imageService.SaveImage(stream, fileName); newItem.ItemImages.Add(new M_ItemImage() { Image = imgObj, DisplayOrder = j, StatusID = 0,//TODO Get item active status id CreateTime = DateTime.Now, CreateBy = "System", EditTime = DateTime.Now, EditBy = "System" }); } j++; } } else { int i = 0; using (var wc = new ThirdStoreWebClient()) { foreach (var imageURL in imageURLs) { try { var imgBytes = wc.DownloadData(imageURL); using (var stream = new MemoryStream(imgBytes)) { var fileName = newItem.SKU + "-" + i.ToString().PadLeft(2, '0') + ".jpg"; var imgObj = _imageService.SaveImage(stream, fileName); newItem.ItemImages.Add(new M_ItemImage() { Image = imgObj, DisplayOrder = i, StatusID = 0,//TODO Get item active status id CreateTime = DateTime.Now, CreateBy = "System", EditTime = DateTime.Now, EditBy = "System" }); } } catch (Exception ex) { LogManager.Instance.Error(imageURL + " download failed. " + ex.Message); } i++; } } } #endregion }