public IEnumerable<ReportFolder> GetReportsFolders()
        {
            var foldersList = new List<ReportFolder>();
            var folder = _assetRepository.GetFolderById(Constants.ReportsRootFolder);
            var root = new ReportFolder
            {
                FolderName = folder.Name.ToUpper(),
                FolderId = folder.FolderId,
                SubFoldersList = new List<ReportFolder>()
            }; 
            foldersList.Add(root);
            GetFolders(root.SubFoldersList as List<ReportFolder>, folder);

            return foldersList;
        }
 private void GetFolders(List<ReportFolder> list, Folder folder)
 {
     list.AddRange(
         _assetRepository.GetChildrenFolders(folder.FolderId)
             .Select(delegate(Folder f)
             {
                 var subFolder = new ReportFolder
                 {
                     FolderName = f.Name,
                     FolderId = f.FolderId,
                     SubFoldersList = new List<ReportFolder>()
                 };
                 GetFolders(subFolder.SubFoldersList as List<ReportFolder>, f);
                 return subFolder;
             })
             .ToList()
         );
 }