Search code examples
dotnetnuke-module2sxc

Sort 2sxc adam files


I can get images that way:

foreach (var pic in AsAdam(Content, "Images").Files)

1.What is the right way to sort images by name or upload date?

2.How to custom reorder images?


Solution

  • To sort on metadata field I used this code:

    var filesAll = AsDynamic(AsAdam(Content, "Images").Files) as IEnumerable<dynamic>;
    var filesWithMetadata = filesAll.Where(x=>x.HasMetadata).Where(x=>x.Metadata.Enabled).OrderBy(x=>x.Metadata.Sort);
    var files = filesWithMetadata.Concat(filesAll.Where(x=>!x.HasMetadata));
    }
    @foreach(var pic in files){
     <div style="clear: both">
      <img src="@pic.Url?w=200&h=200&mode=crop" title="@pic.FileName" style="float: right">
      <h3>@pic.Metadata.Title</h3>
      Has Meta: @pic.HasMetadata 
      <div>Description: @Html.Raw(pic.Metadata.Description)</div>
     </div>
    }