Get all media content items in a folder

The following example demonstrates how to get the ancestor items under specified folder:

C#
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Telerik.Sitefinity.Libraries.Model;
using Telerik.Sitefinity.Modules.Libraries;

namespace Telerik.Sitefinity.Documentation.CodeSnippets.DevGuide.SitefinityEssentials.Modules.MediaModules.Folders.ManagingFolders
{
    public partial class FoldersSnippets
    {
        public static IQueryable<MediaContent> GetDescendants()
        {
            //gets an isntance of the LibrariesManager
            var manager = LibrariesManager.GetManager();

            //creates an image album
            var imagesAlbum = manager.CreateAlbum();
            imagesAlbum.Title = "ImageAlbumTitle1";
            manager.SaveChanges();

            //creates a folder under the album
            var folder = manager.CreateFolder(imagesAlbum);
            var folderId = folder.Id;
            folder.Title = "FolderTitle";
            manager.SaveChanges();

            //creates an image in the album and assigns the folder to the image 
            //by using the FolderId property
            var image = manager.CreateImage();
            image.Title = "imageTitle";
            image.FolderId = folderId;
            manager.SaveChanges();

            //creates another folder under the album
            var folder1 = manager.CreateFolder(imagesAlbum);
            folder1.Title = "ChildFolderTitle1";

            //changes the folder of the image
            manager.ChangeItemFolder(image, folder1);

            //gets all the ancestors of the album
            var ancestors = manager.GetDescendants(imagesAlbum);
            return ancestors;
        }
    }
}

In the code above, you:

  1. Create an album via the CreateAlbum**** method of LibrariesManager through the Native API. For more information, see For developers: Create image libraries.
  2. Create a folder under the album via the CreateFolder**** method and the album as a parameter. For more information, see For developers: Create folders inside libraries.
  3. Create an image under the folder through the native API. For more information, see For developers: Create images.
  4. Create another folder and change the parent of the image to be the newly created folder. You do this via the ChangeItemFolder**** method of the LibrariesManager. It requires the image and the new folder as a parameters.
  5. Get all ancestor items under the album via the GetDescendants**** method. This method requires the folder as a parameter and returns a collection of all ancestors under it.
Want to learn more?
Enhance your Sitefinity skills by enrolling in free training sessions. Become Sitefinity certified through Progress Education Community to strengthen your professional credentials.
New to Sitefinity?