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;
             }
         }
     }
 }
Example #7
0
 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"];
 }
Example #8
0
        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);
        }
Example #9
0
        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;
            }
        }