jueves, 28 de abril de 2011

Ordenando un listado de documentos por varias columnas en SharePoint con Linq

Esto es algo útil que se presenta muy seguido la necesidad de ordenar un listado de documentos por mas de una propiedad del documento.

Abajo el código:

Obtenemos el folder raíz de la librería:

var documentos = miWeb.GetFolder(nombreLista);

Obtenemos cada documento en un ciclo:

foreach (SPFile file in documentos.Files) {}

Obtenemos los campos deseados:

private static LibreriaDocumento MapeoSPFileToLibreriaDocumento(SPListItem item)
       {
           var nuevoDocumento = new LibreriaDocumento
           {
               ID = item.ID
                             ,
               Nombre = item.Name
                             ,
               URL = item.Url
               ,
               Title = item.Title
                             ,
               UltimaModificacion = item.File.TimeLastModified
                             ,
               UsuarioUltimaModificacion = item.File.ModifiedBy.ToString()
           };

           return nuevoDocumento;
       }

Ordenamos la lista de Entidad Documento:

misDocumentos.OrderBy(t => t.Title).ThenBy(n => n.Nombre).Select(m => m);

Code4Fun!,

Manolo Herrera

No hay comentarios.: