[MOSS 2010] Obtener los documentos de un Document Set

Para una demo desde un cliente VSTO Word, necesitaba mostrar los documentos de un Document Set de SharePoint 2010 en un TaskPane y en un principio había pensado hacerlo con un control WebBrowser de WPF, pero al final por una serie de requerimientos y problemas he tenido que hacerlo a través de un servicio web (Por ser versiones de framework diferentes), así que aquí os dejo el código y sí alguien encuentra una manera mejor o más efectiva de hacerlo que me lo diga por favor:

 

[WebMethod]



public List<Document> GetDocuments(Guid listId, int documentSetId)



{



    List<Document> documents = null;



 



    using (var site = new SPSite("http://tu_site"))



    {



        using (var web = site.OpenWeb("tu_web"))



        {



            var list = web.Lists.GetList(listId, true);



 



            var item = list.Items.OfType<SPListItem>().



                            SingleOrDefault(



                                i => i["ID"] != null && 



                                     Convert.ToInt32(i["ID"]) == documentSetId);



 



            if (item != null)



            {



                var documentSet = DocumentSet.GetDocumentSet(item.Folder);



 



                documents = documentSet.Folder.Files.OfType<SPFile>().Select(



                    f => new Document()



                                {



                                    Title = f.Title,



                                    Url = f.Url,



                                    IconUrl = f.IconUrl



                                }).ToList();



            }



        }



    }



 



    return documents;



}




 



Saludos.

0 comentarios:

Publicar un comentario