/// <summary>
        /// Get the images for a particular image wall page
        /// </summary>
        /// <param name="page">Page to get the images for (can include just ImageWallId, but must included that)</param>
        /// <returns>Collection of images for the specified page</returns>
        public async Task <ICollection <BusinessModels.Image> > GetFromPage(BusinessModels.ImageWallPage page)
        {
            ICollection <BusinessModels.Image> ret;

            if (page.ImageWallPageOrigin != null)
            {
                Logger.LogInformation($"Getting images from existing image wall page origin");
                ret = (from img in page.ImageWallPageOrigin.Images
                       orderby img.Order
                       select Parse(img)).ToList();
            }
            else
            {
                Logger.LogInformation($"Getting images based on ImageWall Id");
                ret = await(from img in DbContext.Images
                            where img.PageId == page.ImageWallId
                            orderby img.Order
                            select Parse(img)).ToListAsync();
            }

            return(ret);
        }
Esempio n. 2
0
        /// <summary>
        /// Parse an Image Wall page
        /// </summary>
        /// <param name="page">Image wall page to parse</param>
        /// <returns>A parsed Image Wall page</returns>
        private async Task <BusinessModels.ImageWallPage> ParseImageWallPage(
            DbModels.Page page)
        {
            var retPage = new BusinessModels.ImageWallPage()
            {
                PageOrigin          = page,
                Id                  = page.Id,
                Type                = BusinessModels.PageTypes.ImageWall,
                Title               = page.Title,
                Subtitle            = page.Subtitle,
                Background          = page.Background,
                Image               = null,
                Orientation         = page.Orientation,
                ImageWallPageOrigin = page.ImageWallExt,
                ImageWallId         = page.ImageWallExt.Id,
                Description         = page.ImageWallExt.Description
            };

            retPage.Images = await ImagesService.GetFromPage(retPage);

            return(retPage);
        }