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