Пример #1
0
        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++;
                }
            }
        }
Пример #2
0
        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++;
                }
            }
        }
Пример #3
0
        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
        }