Esempio n. 1
0
        public SPOFolder GetFolder(bool detailed)
        {
            if (detailed && _detailedFolder != null)
            {
                return(_detailedFolder);
            }
            if (!detailed && _basicFolder != null)
            {
                return(_basicFolder);
            }

            if (detailed && _detailedFolder == null)
            {
                SPOFolder.LoadFolder(SPOSiteContext.CurrentSiteContext.Context, _item.Folder, true, true);
                _detailedFolder = new SPOFolder(_item.Folder, true);
                _basicFolder    = _detailedFolder;
                return(_detailedFolder);
            }
            else if (!detailed && _basicFolder == null)
            {
                SPOFolder.LoadFolder(SPOSiteContext.CurrentSiteContext.Context, _item.Folder, false, true);
                _basicFolder = new SPOFolder(_item.Folder, true);
                return(_basicFolder);
            }
            return(null);
        }
        public SPOFolder GetParentFolder(bool detailed)
        {
            if (detailed && _detailedParentFolder != null)
            {
                return(_detailedParentFolder);
            }
            if (!detailed && _basicParentFolder != null)
            {
                return(_basicParentFolder);
            }

            if (detailed && _detailedParentFolder == null)
            {
                LoadFolder(SPOSiteContext.CurrentSiteContext.Context, _folder.ParentFolder, true, _isListContext);
                _detailedParentFolder = new SPOFolder(_folder.ParentFolder, _isListContext);
                _basicParentFolder    = _detailedParentFolder;
                return(_detailedParentFolder);
            }
            else if (!detailed && _basicParentFolder == null)
            {
                LoadFolder(SPOSiteContext.CurrentSiteContext.Context, _folder.ParentFolder, false, _isListContext);
                _basicParentFolder = new SPOFolder(_folder.ParentFolder, _isListContext);
                return(_basicParentFolder);
            }
            return(null);
        }
 internal static void LoadList(CmdletContext ctx, List list, bool detailed)
 {
     ctx.Load(list);
     ctx.Load(list,
              l => l.RootFolder,
              l => l.DefaultViewUrl,
              l => l.HasUniqueRoleAssignments);
     if (detailed)
     {
         ctx.Load(list,
                  l => l.DefaultDisplayFormUrl,
                  l => l.DefaultEditFormUrl,
                  l => l.DefaultNewFormUrl,
                  l => l.IsSiteAssetsLibrary,
                  l => l.OnQuickLaunch,
                  l => l.SchemaXml,
                  l => l.UserCustomActions,
                  l => l.ValidationFormula,
                  l => l.ValidationMessage,
                  l => l.WorkflowAssociations);
         SPOFolder.LoadFolder(ctx, list.RootFolder, detailed, true);
     }
     else
     {
         ctx.ExecuteQuery();
     }
 }
        public SPOListItem AddItem(string listUrlFolderPath, Dictionary <string, object> fieldValues)
        {
            ListItemCreationInformation lici = null;

            if (!string.IsNullOrEmpty(listUrlFolderPath))
            {
                SPOFolder rootFolder = GetRootFolder(false);
                lici           = new ListItemCreationInformation();
                lici.FolderUrl = rootFolder.ServerRelativeUrl.TrimEnd('/') + "/" + listUrlFolderPath;
            }
            ListItem item = _list.AddItem(lici);

            if (fieldValues != null)
            {
                foreach (string fieldName in fieldValues.Keys)
                {
                    item[fieldName] = fieldValues[fieldName];
                }
            }

            item.Update();
            item.Context.Load(item, i => i.Id);
            item.Context.ExecuteQuery();
            return(GetItemById(item.Id));
        }
Esempio n. 5
0
        public SPOFolder GetParentFolder(bool detailed)
        {
            if (detailed && _detailedParentFolder != null) return _detailedParentFolder;
            if (!detailed && _basicParentFolder != null) return _basicParentFolder;

            if (detailed && _detailedParentFolder == null)
            {
                LoadFolder(SPOSiteContext.CurrentSiteContext.Context, _folder.ParentFolder, true, _isListContext);
                _detailedParentFolder = new SPOFolder(_folder.ParentFolder, _isListContext);
                _basicParentFolder = _detailedParentFolder;
                return _detailedParentFolder;
            }
            else if (!detailed && _basicParentFolder == null)
            {
                LoadFolder(SPOSiteContext.CurrentSiteContext.Context, _folder.ParentFolder, false, _isListContext);
                _basicParentFolder = new SPOFolder(_folder.ParentFolder, _isListContext);
                return _basicParentFolder;
            }
            return null;
        }
 public SPOPropertyBag(SPOFolder folder, PropertyValues properties)
 {
     _folder = folder;
     _pb = properties;
 }
 public static SPOWikiPage AddWikiPage(SPOFolder folder, string wikiPageName)
 {
     return AddWikiPage(folder, wikiPageName, false);
 }
 internal static SPOWikiPage AddWikiPage(SPOFolder folder, string wikiPageName, bool throwIfExists)
 {
     return new SPOWikiPage(folder.AddTemplateFile(wikiPageName, TemplateFileType.WikiPage, throwIfExists).File);
 }
Esempio n. 9
0
 internal static SPOWikiPage AddWikiPage(SPOFolder folder, string wikiPageName, bool throwIfExists)
 {
     return(new SPOWikiPage(folder.AddTemplateFile(wikiPageName, TemplateFileType.WikiPage, throwIfExists).File));
 }
Esempio n. 10
0
 public static SPOWikiPage AddWikiPage(SPOFolder folder, string wikiPageName)
 {
     return(AddWikiPage(folder, wikiPageName, false));
 }
Esempio n. 11
0
        public SPOFolder GetRootFolder(bool detailed)
        {
            if (detailed && _detailedRootFolder != null) return _detailedRootFolder;
            if (!detailed && _basicRootFolder != null) return _basicRootFolder;

            if (detailed && _detailedRootFolder == null)
            {
                SPOFolder.LoadFolder(SPOSiteContext.CurrentSiteContext.Context, _list.RootFolder, true, true);
                _detailedRootFolder = new SPOFolder(_list.RootFolder, true);
                _basicRootFolder = _detailedRootFolder;
                return _detailedRootFolder;
            }
            else if (!detailed && _basicRootFolder == null)
            {
                SPOFolder.LoadFolder(SPOSiteContext.CurrentSiteContext.Context, _list.RootFolder, false, true);
                _basicRootFolder = new SPOFolder(_list.RootFolder, true);
                return _basicRootFolder;
            }
            return null;
        }
        public SPOFolder GetFolder(string listRelativeFolderUrl, bool detailed, bool createIfMissing)
        {
            SPOFolder rootFolder = this.GetRootFolder(detailed);

            if (string.IsNullOrEmpty(listRelativeFolderUrl))
            {
                return(rootFolder);
            }

            string rootFolderUrl = rootFolder.ServerRelativeUrl.TrimEnd('/');
            Folder folder        = null;

            try
            {
                folder = _list.ParentWeb.GetFolderByServerRelativeUrl(rootFolderUrl + "/" + listRelativeFolderUrl);
                SPOFolder.LoadFolder(SPOSiteContext.CurrentSiteContext.Context, folder, detailed, true);
            }
            catch (ServerException)
            {
                folder = null;
            }

            if (folder == null && createIfMissing)
            {
                if (!this.EnableFolderCreation)
                {
                    this.EnableFolderCreation = true;
                    this.Update();
                }

                string[] folders = listRelativeFolderUrl.Trim('/').Split('/');

                string folderPath = string.Empty;
                for (int i = 0; i < folders.Length; i++)
                {
                    string parentFolder = folderPath;
                    folderPath += "/" + folders[i];
                    folder      = null;
                    try
                    {
                        folder = _list.ParentWeb.GetFolderByServerRelativeUrl(rootFolderUrl + folderPath);
                        SPOFolder.LoadFolder(SPOSiteContext.CurrentSiteContext.Context, folder, detailed, true);
                    }
                    catch (ServerException)
                    {
                        folder = null;
                    }
                    if (folder == null)
                    {
                        ListItemCreationInformation lici = new ListItemCreationInformation();
                        lici.LeafName             = folders[i];
                        lici.FolderUrl            = rootFolderUrl + parentFolder; // folderPath.Trim('/');
                        lici.UnderlyingObjectType = FileSystemObjectType.Folder;

                        var item = _list.AddItem(lici);
                        item["Title"] = folders[i];
                        item.Update();
                        item.Context.ExecuteQuery();
                        folder = item.Folder;
                        SPOFolder.LoadFolder(SPOSiteContext.CurrentSiteContext.Context, folder, detailed, true);
                    }
                }
            }
            // Still no folder so error out
            if (folder == null)
            {
                throw new Exception(string.Format("The folder '{0}' could not be found.", listRelativeFolderUrl));
            }
            return(new SPOFolder(folder, true));
        }
        public SPOFile AddFile(byte[] content, bool overwrite, string leafName, Dictionary <string, object> fieldValues)
        {
            SPOFolder rootFolder = GetRootFolder(false);

            return(rootFolder.AddFile(content, overwrite, leafName, fieldValues));
        }