List <BlobImage> GenerateImageMiniatures(byte[] image)
        {
            List <BlobImage> imagesToUpload = new List <BlobImage>();
            string           blobName       = CreateBlobName();

            foreach (var img in GalleryImages.GalleryDimensionList)
            {
                byte[] imgBytes = ImageOptimization.OptimizeImageFromBytes(img.Width, img.Height, image);

                BlobImage blobImage = new BlobImage()
                {
                    ImgBytes  = imgBytes,
                    SizeName  = img.SizeName,
                    ImageName = $"{blobName}.{ImageOptimization.GetImageExtension(imgBytes).ToString()}"
                };

                imagesToUpload.Add(blobImage);
            }

            return(imagesToUpload);
        }
        public string UploadImageAndReturnImageName(HttpPostedFileBase fileBase)
        {
            byte[] image = fileBase.InputStream.ReadFully();
            if (!ImageOptimization.ValidateImage(image))
            {
                return(null);
            }

            List <BlobImage> imagesToUpload = GenerateImageMiniatures(image);

            try
            {
                UploadMultipleImagesToBlob(imagesToUpload);
            }
            catch
            {
                return(null);
            }

            return(imagesToUpload.First().ImageName);
        }