public SPListInfo[] GetLists() { List<SPListInfo> ret = new List<SPListInfo>(); using (ClientContext clientContext = CreateContext()) { clientContext.Load(clientContext.Web.Lists); clientContext.Load(clientContext.Web.Lists, lists => lists.Include(l => l.RootFolder.ServerRelativeUrl, l => l.OnQuickLaunch)); clientContext.ExecuteQuery(); SPTemplateType baseTemplateType = SPTemplateType.All; Uri siteUri = new Uri(_serverSettings.Uri); if (clientContext.Web.Lists.Count > 0) { foreach (List list in clientContext.Web.Lists) { if (EnsureValidListTemplate(list, baseTemplateType)) { SPListInfo spListInfo = new SPListInfo(siteUri, list); ret.Add(spListInfo); } } } } return ret.ToArray(); }
private void _listsCopyAbsoluteURLToClipboardToolStripMenuItem_Click(object sender, EventArgs e) { SharePoint.SPListInfo list = _documentLibrariesListBox.SelectedItem as SharePoint.SPListInfo; if (list != null) { Clipboard.SetText(list.AbsoluteUri.ToString()); } }
private void FillItems(SharePoint.SPItemInfo parentItem) { _curerntFolderItem = parentItem; _errorLabel.Visible = false; _sharePointItemsListView.BeginUpdate(); _sharePointItemsListView.Items.Clear(); // Get the items of the selected list SharePoint.SPListInfo listInfo = _documentLibrariesListBox.SelectedItem as SharePoint.SPListInfo; if (listInfo != null) { try { using (WaitCursor wait = new WaitCursor()) { SharePoint.SPHelper helper = new SharePoint.SPHelper(_serverSettings); SharePoint.SPItemInfo[] items = helper.GetChildren(listInfo, parentItem); // If we have a parent item, add the special "move folder up" item if (parentItem != null) { SharePoint.SPItemInfo item = new SharePoint.SPItemInfo(); item.ItemType = SharePoint.SPItemType.Folder; item.Name = ".."; item.ParentItem = parentItem.ParentItem; _sharePointItemsListView.AddSharePointItem(item); } // Add the children (folders first) to the list view foreach (SharePoint.SPItemInfo item in items) { if (item.ItemType == Ocr2SharePointDemo.SharePoint.SPItemType.Folder) { _sharePointItemsListView.AddSharePointItem(item); } } foreach (SharePoint.SPItemInfo item in items) { if (item.ItemType == Ocr2SharePointDemo.SharePoint.SPItemType.File) { _sharePointItemsListView.AddSharePointItem(item); } } } } catch (Exception ex) { _errorLabel.Text = "Error: " + ex.Message; _errorLabel.Visible = true; } } _sharePointItemsListView.EndUpdate(); UpdateUIState(); }
public SPItemInfo(Uri siteUri, ListItem item, SPListInfo parentList, SPItemInfo parentItem) { Id = item.Id; ParentListId = parentList.Id; ParentItem = parentItem; ItemType = item.FileSystemObjectType == FileSystemObjectType.File ? SPItemType.File : SPItemType.Folder; if (!DateTime.TryParse(item.FieldValuesAsText["Created"], out Created)) { Created = DateTime.Now; } DisplayName = item.DisplayName; Name = item.FieldValuesAsText["FileLeafRef"]; Title = item.FieldValuesAsText["Title"]; ServerRelativeUrl = item.FieldValuesAsText["FileRef"]; AbsoluteUri = SPHelper.CombineUrl(siteUri, ServerRelativeUrl); Author = item.FieldValuesAsText["Author"]; FileExtension = item.FieldValuesAsText["File_x0020_Type"]; }
public SPItemInfo[] GetChildren(SPListInfo parentList, SPItemInfo parentItemInfo) { CamlQuery query = new CamlQuery(); query.ViewXml = "<View/>"; if(parentItemInfo != null) query.FolderServerRelativeUrl = parentItemInfo.ServerRelativeUrl; List<SPItemInfo> ret = new List<SPItemInfo>(); Uri siteUri = new Uri(_serverSettings.Uri); using (ClientContext clientContext = CreateContext()) { clientContext.Load(clientContext.Web.Lists); clientContext.Load(clientContext.Web.Lists, lists => lists.Include(l => l.RootFolder.ServerRelativeUrl, l => l.OnQuickLaunch)); clientContext.ExecuteQuery(); List list = clientContext.Web.Lists.GetById(parentList.Id); ListItemCollection listItems = list.GetItems(query); if (listItems != null) { clientContext.Load(listItems); clientContext.Load(listItems, items => items.Include( item => item.Id, item => item.FileSystemObjectType, item => item.DisplayName, item => item.FieldValuesAsText)); clientContext.ExecuteQuery(); foreach (ListItem item in listItems) { if(item.FileSystemObjectType == FileSystemObjectType.File || item.FileSystemObjectType == FileSystemObjectType.Folder) { SPItemInfo spItemInfo = new SPItemInfo(siteUri, item, parentList, parentItemInfo); ret.Add(spItemInfo); } } } } return ret.ToArray(); }
public void SetSharePointSettings(SharePoint.SharePointServerSettings serverSettings, SharePoint.SPListInfo[] lists) { _serverSettings = serverSettings; _curerntFolderItem = null; _errorLabel.Visible = false; // Populate the document libraries, select "Shared Documents" initially if it exists _documentLibrariesListBox.BeginUpdate(); _documentLibrariesListBox.Items.Clear(); SharePoint.SPListInfo sharedDocumentList = null; foreach (SharePoint.SPListInfo list in lists) { _documentLibrariesListBox.Items.Add(list); if (string.Compare(list.Title, "Shared Documents", StringComparison.OrdinalIgnoreCase) == 0) { sharedDocumentList = list; } } _documentLibrariesListBox.EndUpdate(); if (_documentLibrariesListBox.Items.Count > 0) { if (sharedDocumentList != null) { _documentLibrariesListBox.SelectedItem = sharedDocumentList; } else { _documentLibrariesListBox.SelectedIndex = 0; } } UpdateUIState(); }
public string GetCurrentFolderPath(bool absolute) { string folderPath = null; if (_curerntFolderItem != null) { if (absolute) { if (_curerntFolderItem.AbsoluteUri != null) { folderPath = _curerntFolderItem.AbsoluteUri.ToString(); } } else { folderPath = _curerntFolderItem.ServerRelativeUrl; } } else { // Get the folder path from the parent list SharePoint.SPListInfo list = _documentLibrariesListBox.SelectedItem as SharePoint.SPListInfo; if (list != null) { if (absolute) { folderPath = list.AbsoluteUri.ToString(); } else { folderPath = list.ServerRelativeUrl; } } } return(folderPath); }