/// <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); }
/// <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); }