public JsonResult GetMedia(int id)
{
var folder = Umbraco.TypedMedia(id);
if (folder != null)
{
if (folder.ContentType.Alias != "Folder")
{
if (folder.Parent != null)
{
id = folder.Parent.Id;
folder = Umbraco.TypedMedia(folder.Parent.Id);
}
else
{
id = -1;
}
}
if (id != -1)
{
PopulateParents(folder);
}
}
using (var db = DatabaseContext.Database)
{
var sql = "SELECT MIN(n.id) as id ,MIN(n.parentID) as parentId ,MIN(n.sortOrder) as sortOrder,MIN(n.text) as text,MIN(cmsContent.contentType) as contentType,MIN(cast(cmsPropertyData.dataNtext as varchar(max))) as src1, MIN(cast(cmsPropertyData.dataNvarchar as varchar(max))) as src2 FROM umbracoNode as n " +
"INNER JOIN cmsContent ON n.id=cmsContent.nodeId " +
"RIGHT JOIN cmsPropertyData ON n.id=cmsPropertyData.contentNodeId " +
"WHERE nodeObjectType = 'B796F64C-1F99-4FFB-B886-4BF4BC011A9C' AND " +
"trashed = 0 AND " +
"(cmsPropertyData.propertytypeid = 6 OR cmsPropertyData.propertytypeid = 27 OR cmsPropertyData.propertytypeid = 24) AND " +
"(cmsContent.contentType = 1031 OR cmsContent.contentType = 1032 OR cmsContent.contentType = 1033) AND " +
"parentId = " + id + " GROUP BY n.id";
var items = db.Fetch<CanvasMedia>(sql);
return Json(new { items = items, history = Parents.OrderBy(x => x.level) });
}
}