public string GetCurrentFilePath(bool absolute) { string filePath = null; if (_sharePointItemsListView.SelectedItems != null && _sharePointItemsListView.SelectedItems.Count > 0) { ListViewItem lvItem = _sharePointItemsListView.SelectedItems[0]; SharePoint.SPItemInfo item = lvItem.Tag as SharePoint.SPItemInfo; if (item.ItemType == SharePoint.SPItemType.File) { if (absolute) { if (item.AbsoluteUri != null) { filePath = item.AbsoluteUri.ToString(); } } else { filePath = item.ServerRelativeUrl; } } } return(filePath); }
private void _downloadButton_Click(object sender, EventArgs e) { if (_sharePointItemsListView.SelectedItems != null && _sharePointItemsListView.SelectedItems.Count > 0) { ListViewItem lvItem = _sharePointItemsListView.SelectedItems[0]; _tryDownloadItem = lvItem.Tag as SharePoint.SPItemInfo; if (_tryDownloadItem.ItemType == SharePoint.SPItemType.File) { using (SaveFileDialog dlg = new SaveFileDialog()) { if (!string.IsNullOrEmpty(_tryDownloadItem.FileExtension)) { dlg.Filter = string.Format("*.{0}|*.{0}|All Files|*.*", _tryDownloadItem.FileExtension); } else { dlg.Filter = "All Files|*.*"; } dlg.FileName = _tryDownloadItem.Name; if (dlg.ShowDialog(this) == DialogResult.OK) { _tryDownloadFileName = dlg.FileName; _mainForm.BeginOperation(new MethodInvoker(TryDownload)); } } } } }
private void _sharePointItemsListView_ItemActivate(object sender, EventArgs e) { if (_sharePointItemsListView.SelectedItems != null && _sharePointItemsListView.SelectedItems.Count > 0) { ListViewItem lvItem = _sharePointItemsListView.SelectedItems[0]; SharePoint.SPItemInfo item = lvItem.Tag as SharePoint.SPItemInfo; if (item.ItemType == SharePoint.SPItemType.Folder) { // If this is our special ".." folder, go up // Go into this folder if (string.Compare(item.Name, "..", StringComparison.OrdinalIgnoreCase) == 0) { FillItems(item.ParentItem); } else { FillItems(item); } } else if (item.ItemType == SharePoint.SPItemType.File) { } } UpdateUIState(); }
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(); }
private void _itemsCopyAbsoluteURLToClipboardToolStripMenuItem_Click(object sender, EventArgs e) { if (_sharePointItemsListView.SelectedItems != null && _sharePointItemsListView.SelectedItems.Count > 0) { SharePoint.SPItemInfo item = _sharePointItemsListView.SelectedItems[0].Tag as SharePoint.SPItemInfo; if (item.AbsoluteUri != null && string.Compare(item.Name, "..", StringComparison.OrdinalIgnoreCase) != 0) { Clipboard.SetText(item.AbsoluteUri.ToString()); } } }
public void SelectItem(Uri serverDocumentUri) { if (serverDocumentUri != null) { // In current items, find if the absolute URI is equivalant to 'serverDocumentUri' foreach (ListViewItem lvItem in _sharePointItemsListView.Items) { SharePoint.SPItemInfo item = lvItem.Tag as SharePoint.SPItemInfo; if (item.AbsoluteUri != null && string.CompareOrdinal(item.AbsoluteUri.ToString(), serverDocumentUri.ToString()) == 0) { _sharePointItemsListView.SelectedItems.Clear(); lvItem.Selected = true; _sharePointItemsListView.Focus(); break; } } } }
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 void AddSharePointItem(SharePoint.SPItemInfo item) { string extension; if (item.ItemType == SharePoint.SPItemType.File) { extension = Path.GetExtension(item.Name); } else if (item.ItemType == SharePoint.SPItemType.Folder) { extension = FileTypeDictionary.DiretoryType; } else { return; } _fileTypes.Add(extension); ListViewItem lvItem = new ListViewItem(); lvItem.Text = item.Name; lvItem.ImageIndex = _fileTypes.GetImageIndex(extension); ListViewItem.ListViewSubItem subItem = new ListViewItem.ListViewSubItem(); if (string.Compare(item.Name, "..", StringComparison.OrdinalIgnoreCase) != 0) { subItem.Text = item.Created.ToString(); } else { subItem.Text = string.Empty; } lvItem.SubItems.Add(subItem); subItem = new ListViewItem.ListViewSubItem(); subItem.Text = _fileTypes.GetDescription(extension); lvItem.SubItems.Add(subItem); lvItem.Tag = item; Items.Add(lvItem); }
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(); }
private void _itemsContextMenuStrip_Opening(object sender, CancelEventArgs e) { if (_sharePointItemsListView.SelectedItems != null && _sharePointItemsListView.SelectedItems.Count > 0) { SharePoint.SPItemInfo item = _sharePointItemsListView.SelectedItems[0].Tag as SharePoint.SPItemInfo; e.Cancel = string.Compare(item.Name, "..", StringComparison.OrdinalIgnoreCase) == 0; if (!e.Cancel && item.ItemType != SharePoint.SPItemType.File) { _itemsDownloadToDiskToolStripMenuItem.Enabled = false; } else { _itemsDownloadToDiskToolStripMenuItem.Enabled = true; } } else { e.Cancel = true; } }