Canvas.Controllers.ApiController.GetMedia C# (CSharp) Method

GetMedia() private method

private GetMedia ( int id ) : System.Web.Mvc.JsonResult
id int
return System.Web.Mvc.JsonResult
        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) });
            }

        }