示例#1
0
        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();
        }
示例#4
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"];
 }
示例#5
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();
        }
        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);
        }