Exemple #1
0
        /// <summary>
        /// Updates the picture binary data
        /// </summary>
        /// <param name="picture">The picture object</param>
        /// <param name="binaryData">The picture binary data</param>
        /// <returns>Picture binary</returns>
        protected virtual PictureBinary UpdatePictureBinary(Picture picture, byte[] binaryData)
        {
            if (picture == null)
            {
                throw new ArgumentNullException(nameof(picture));
            }

            var pictureBinary = picture.PictureBinary;

            var isNew = pictureBinary == null;

            if (isNew)
            {
                pictureBinary = new PictureBinary
                {
                    PictureId = picture.Id
                }
            }
            ;

            pictureBinary.BinaryData = binaryData;

            if (isNew)
            {
                _pictureBinaryRepository.Insert(pictureBinary);
            }
            else
            {
                _pictureBinaryRepository.Update(pictureBinary);
            }

            return(pictureBinary);
        }
        public virtual void InsertProductAnnouncementPictureMapping(PictureModel picture, Guid productAnnouncementId)
        {
            if (picture == null)
            {
                throw new ArgumentNullException(nameof(picture));
            }

            if (picture.Id == default(Guid))
            {
                picture.Id = Guid.NewGuid();
            }

            _pictureRepository.Insert(picture);
            _productAnnouncementPictureMappingRepository.Insert(new ProductAnnouncementPictureMapping()
            {
                ProductAnnouncementId = productAnnouncementId,
                PictureId             = picture.Id,
                IsMain = picture.IsMain,
            });

            var binary = new PictureBinary()
            {
                Id         = Guid.NewGuid(),
                BinaryData = picture.DataAsByteArray?.Length == null || picture.DataAsByteArray?.Length == 0 ? picture.GetDataAsByteArray() : picture.DataAsByteArray,
                PictureId  = picture.Id
            };

            _prictureBinaryRepository.Insert(binary);
        }
        public void Delete(int id)
        {
            PictureBinary pictureBinary = db.PictureBinary.Find(id);

            if (pictureBinary != null)
            {
                db.PictureBinary.Remove(pictureBinary);
            }
        }
        /// <summary>
        /// Updates the picture binary data
        /// </summary>
        /// <param name="picture">The picture object</param>
        /// <param name="binaryData">The picture binary data</param>
        /// <returns>Picture binary</returns>
        protected virtual PictureBinary UpdatePictureBinary(Picture picture, byte[] binaryData)
        {
            if (picture == null)
            {
                throw new ArgumentNullException(nameof(picture));
            }

            var pictureBinary = GetPictureBinaryByPictureId(picture.Id);

            var isNew = pictureBinary == null;

            if (isNew)
            {
                pictureBinary = new PictureBinary
                {
                    PictureId = picture.Id
                }
            }
            ;

            pictureBinary.BinaryData = binaryData;

            if (isNew)
            {
                _pictureBinaryRepository.Insert(pictureBinary);

                //event notification
                _eventPublisher.EntityInserted(pictureBinary);
            }
            else
            {
                _pictureBinaryRepository.Update(pictureBinary);

                //event notification
                _eventPublisher.EntityUpdated(pictureBinary);
            }

            return(pictureBinary);
        }
 public RoxyFilemanFormFile(Picture picture, PictureBinary pictureBinary, string fileExtension)
 {
     _picture       = picture;
     _pictureBinary = pictureBinary;
     _fileExtension = fileExtension;
 }
Exemple #6
0
        private void LoadImages(string imagePath, int thumbnailSize)
        {
            using (var context = new NopCommerceDbContext())
            {
                var directories = Directory.GetDirectories(imagePath);
                foreach (var directory in directories)
                {
                    DirectoryInfo directoryInfo = new DirectoryInfo(directory);

                    var siteProducts = context.Products.Where(p => p.ManufacturerPartNumber == directoryInfo.Name).ToList();

                    foreach (var siteProduct in siteProducts)
                    {
                        Log = siteProduct.Name + "\r\n" + Log;

                        if (siteProduct != null)
                        {
                            var productPictures = siteProduct.Product_Picture_Mapping;
                            foreach (var productPicture in productPictures.ToList())
                            {
                                var binaries = context.PictureBinaries.Where(pb => pb.PictureId == productPicture.PictureId);
                                foreach (var binary in binaries)
                                {
                                    context.PictureBinaries.Remove(binary);
                                }

                                context.Pictures.Remove(productPicture.Picture);
                            }

                            productPictures.Clear();

                            var files = directoryInfo.GetFiles("*.*");

                            foreach (var file in files)
                            {
                                if (file.Extension.ToLower() == ".png" || file.Extension.ToLower() == ".jpg" || file.Extension.ToLower() == ".jpeg")
                                {
                                    var fileExtension = file.Extension.ToLower();
                                    if (fileExtension == ".jpeg")
                                    {
                                        fileExtension = ".jpg";
                                    }

                                    NetVips.Image smallerImage = NetVips.Image.Thumbnail(file.FullName, thumbnailSize);

                                    var picture = new Picture()
                                    {
                                        MimeType = $"image/{fileExtension.Replace(".", "")}"
                                    };
                                    context.Pictures.Add(picture);
                                    context.SaveChanges();

                                    var data = new PictureBinary()
                                    {
                                        PictureId  = picture.Id,
                                        BinaryData = smallerImage.WriteToBuffer($"{fileExtension}")
                                    };
                                    context.PictureBinaries.Add(data);

                                    siteProduct.Product_Picture_Mapping.Add(new Product_Picture_Mapping()
                                    {
                                        PictureId = picture.Id
                                    });
                                }
                            }

                            context.SaveChanges();
                        }
                    }
                }
            }
        }
 public void Update(PictureBinary item)
 {
     db.Entry(item).State = EntityState.Modified;
 }
 public void Create(PictureBinary item)
 {
     db.PictureBinary.Add(item);
 }