public static ImageGalleryViewModel ToViewModel(this ImageGallery imageGallery)
        {
            if (imageGallery == null)
            {
                return(null);
            }

            Guid?tempGuid = imageGallery.Id == 0 ? Guid.NewGuid() : (Guid?)null;

            var             galleryStorageFactory = MainCfg.ServiceProvider.GetService <IGalleryStorageFactory>();
            IGalleryStorage galleryStorage        = galleryStorageFactory.Create(imageGallery);

            IEnumerable <string> images = galleryStorage.GetImagesList();
            var imageItems = new List <ImageGalleryItemViewModel>();

            if (!Guard.IsEmptyIEnumerable(images))
            {
                imageItems.AddRange(images.Select(i => new ImageGalleryItemViewModel()
                {
                    url = i
                }));
            }

            return(new ImageGalleryViewModel()
            {
                id = imageGallery.Id,
                author = imageGallery.Author,
                description = imageGallery.Description,
                dateChanged = imageGallery.DateChanged,
                dateCreated = imageGallery.DateCreated,
                dateDisplayed = imageGallery.DateDisplayed,
                enable = imageGallery.Enable,
                header = imageGallery.Header,
                priority = imageGallery.Priority,
                title = imageGallery.Title,
                urlKey = imageGallery.URLKey,
                visibility = imageGallery.Visibility,
                tempGuid = tempGuid,
                path = imageGallery.GetGalleryUniquePath(tempGuid),
                createNew = tempGuid.HasValue,
                images = imageItems
            });
        }
 public GalleryController(IGalleryStorage GalleryStorage)
 {
     galleryStorage = GalleryStorage;
 }