Esempio n. 1
0
        public virtual string GetPictureUrl(
            Picture picture,
            int targetSize                 = 0,
            bool showDefaultPicture        = true,
            string storeLocation           = null,
            PictureType defaultPictureType = PictureType.Entity)
        {
            string url = string.Empty;

            byte[] pictureBinary = null;
            if (picture != null)
            {
                pictureBinary = LoadPictureBinary(picture);
            }
            if (picture == null || pictureBinary == null || pictureBinary.Length == 0)
            {
                if (showDefaultPicture)
                {
                    url = GetDefaultPictureUrl(targetSize, defaultPictureType, storeLocation);
                }
                return(url);
            }

            if (picture.IsNew)
            {
                _imageCache.DeleteCachedImages(picture);

                // we do not validate picture binary here to ensure that no exception ("Parameter is not valid") will be thrown
                picture = UpdatePicture(picture.Id,
                                        pictureBinary,
                                        picture.MimeType,
                                        picture.SeoFilename,
                                        false,
                                        false);
            }

            url = this.GetProcessedImageUrl(
                pictureBinary,
                picture.Id,
                picture.SeoFilename,
                MimeTypes.MapMimeTypeToExtension(picture.MimeType),
                targetSize,
                storeLocation);

            return(url);
        }
Esempio n. 2
0
        public ActionResult MaintenanceDeleteImageCache()
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageMaintenance))
            {
                return(AccessDeniedView());
            }

            _imageCache.DeleteCachedImages();

            return(RedirectToAction("Maintenance"));
        }
Esempio n. 3
0
        private string PrepareGetPictureUrl(
            Picture picture,
            int targetSize                 = 0,
            bool showDefaultPicture        = true,
            string storeLocation           = null,
            PictureType defaultPictureType = PictureType.Entity)
        {
            if (picture == null)
            {
                if (showDefaultPicture)
                {
                    return(GetDefaultPictureUrl(targetSize, defaultPictureType, storeLocation));
                }
                else
                {
                    return(string.Empty);
                }
            }

            EnsurePictureSizeResolved(picture, true);

            if (picture.IsNew)
            {
                _imageCache.DeleteCachedImages(picture);

                // we do not validate picture binary here to ensure that no exception ("Parameter is not valid") will be thrown
                UpdatePicture(
                    picture,
                    LoadPictureBinary(picture),
                    picture.MimeType,
                    picture.SeoFilename,
                    false,
                    false);
            }

            return(string.Empty);
        }