public async Task <BlobContent> ReadBlobContentAsync(long tenantId, long elementId, long blobSetId, string blobLabel)
        {
            CarouselElementSettings settings = await _elementRepository.ReadElementSettingsAsync(tenantId, elementId);

            if (settings == null)
            {
                return(null);
            }

            CarouselSlide slide = settings.Slides.Where(s => s.BlobSetId == blobSetId).FirstOrDefault();

            if (slide == null)
            {
                return(null);
            }

            long?blobId = GetBlobId(slide, blobLabel);

            if (blobId == null)
            {
                return(null);
            }

            return(await _storageService.ReadBlobContentAsync(tenantId, blobId.Value, string.Format(CarouselImagePath, elementId)));
        }
        private long?GetBlobId(CarouselSlide slide, string blobLabel)
        {
            switch (blobLabel)
            {
            case OriginalBlobLabel:
                return(slide.ImageBlobId);

            case PreviewBlobLabel:
                return(slide.PreviewImageBlobId);

            case ThumbnailBlobLabel:
                return(slide.ThumbnailImageBlobId);

            default:
                return(slide.PreviewImageBlobId);
            }
        }