/// <summary> /// Retrieves up to the specified number of documents from this document library. /// </summary> /// <param name="limit">The maximum number of documents to return.</param> /// <returns>A collection of <see cref="SharePointDocument" /> objects.</returns> public SharePointDocumentCollection Retrieve(int limit) { SharePointDocumentQuery query = new SharePointDocumentQuery { DocumentLimit = limit }; return(Retrieve(query)); }
/// <summary> /// Retrieves documents from this document library using the specified <see cref="SharePointDocumentQuery" />. /// </summary> /// <param name="query">A <see cref="SharePointDocumentQuery" /> object containing query parameters.</param> /// <returns>A collection of <see cref="SharePointDocument" /> objects.</returns> /// <exception cref="ArgumentNullException"><paramref name="query" /> is null.</exception> public SharePointDocumentCollection Retrieve(SharePointDocumentQuery query) { if (query == null) { throw new ArgumentNullException(nameof(query)); } LogDebug($"Retrieving documents from {Name} library at {ToString()}"); // Declare this outside the context so we can close the connection as soon as we are done ListItemCollection listItems; using (ClientContext context = new ClientContext(SiteUrl)) { context.Credentials = Credential; List list = context.Web.Lists.GetByTitle(Name); listItems = list.GetItems(query.GenerateCamlQuery()); context.Load(listItems); context.ExecuteQuery(); } return(new SharePointDocumentCollection(listItems)); }