当前位置: 首页>>代码示例>>C#>>正文


C# Folder.Update方法代码示例

本文整理汇总了C#中Folder.Update方法的典型用法代码示例。如果您正苦于以下问题:C# Folder.Update方法的具体用法?C# Folder.Update怎么用?C# Folder.Update使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Folder的用法示例。


在下文中一共展示了Folder.Update方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: DeployWelcomePage

        private void DeployWelcomePage(object modelHost, DefinitionBase model, Folder folder, WelcomePageDefinition welcomePgaeModel)
        {
            var context = folder.Context;

            context.Load(folder);
            context.ExecuteQueryWithTrace();

            InvokeOnModelEvent(this, new ModelEventArgs
            {
                CurrentModelNode = null,
                Model = null,
                EventType = ModelEventType.OnProvisioning,
                Object = folder,
                ObjectType = typeof(Folder),
                ObjectDefinition = welcomePgaeModel,
                ModelHost = modelHost
            });

            TraceService.VerboseFormat((int)LogEventId.ModelProvisionCoreCall, "Changing welcome page to: [{0}]", welcomePgaeModel.Url);

            // https://github.com/SubPointSolutions/spmeta2/issues/431
            folder.WelcomePage = UrlUtility.RemoveStartingSlash(welcomePgaeModel.Url);

            InvokeOnModelEvent(this, new ModelEventArgs
            {
                CurrentModelNode = null,
                Model = null,
                EventType = ModelEventType.OnProvisioned,
                Object = folder,
                ObjectType = typeof(Folder),
                ObjectDefinition = welcomePgaeModel,
                ModelHost = modelHost
            });


            TraceService.Verbose((int)LogEventId.ModelProvisionCoreCall, "Calling folder.Update()");
            folder.Update();

            context.ExecuteQueryWithTrace();
        }
开发者ID:Uolifry,项目名称:spmeta2,代码行数:40,代码来源:WelcomePageModelHandler.cs

示例2: UpdateDocument

        /// <summary>
        /// <see cref="IModel"/>
        /// </summary>
        public void UpdateDocument(string contentId, string contentSummary, string contentXml, bool isMasterDocument, string[] tags)
        {
            Content content = new Content(_server);
            content.ContentId.Value = contentId;
            content.ContentSummary.Value = contentSummary;
            content.ContentXml.Value = contentXml;

            //Si c'est un nouveau document et que c'est un document maître alors on crée le dossier
            //et on rattache le document à ce dossier
            if (!content.Exists() && isMasterDocument)
            {
                Folder folder = new Folder(_server);
                folder.FldId.Value = Guid.NewGuid().ToString("N");
                folder.FldCaption.Value = content.ContentSummary.Value;
                content.FldId.Value = folder.FldId.Value;
                folder.Update();
            }

            //Mise à jour des tags auto du document
            foreach (string s in tags)
            {
                TaggedContent taggedContent = new TaggedContent(_server);
                taggedContent.ContentId.Value = content.ContentId.Value;
                taggedContent.TagId.Value = s.GetHashCode();

                if (!taggedContent.Exists())
                {
                    Tag tag = new Tag(_server);
                    tag.TagId.Value = taggedContent.TagId.Value;
                    tag.TagCaption.Value = s;
                    tag.Update();
                }

                taggedContent.Update();

            }

            content.Update();
        }
开发者ID:BackupTheBerlios,项目名称:sofia-svn,代码行数:42,代码来源:Model.cs

示例3: DeployHideContentTypeLinks

        private void DeployHideContentTypeLinks(object modelHost, List list, Folder folder, HideContentTypeLinksDefinition contentTypeOrderDefinition)
        {
            var context = folder.Context;

            TraceService.Verbose((int)LogEventId.ModelProvisionCoreCall, "Fetching list content types and the order");

            context.Load(list, l => l.ContentTypes);
            context.Load(folder, f => f.ContentTypeOrder);

            context.ExecuteQueryWithTrace();

            var oldContentTypeOrder = folder.ContentTypeOrder;
            var newContentTypeOrder = oldContentTypeOrder;

            var listContentTypes = list.ContentTypes.ToList();

            InvokeOnModelEvent(this, new ModelEventArgs
            {
                CurrentModelNode = null,
                Model = null,
                EventType = ModelEventType.OnProvisioning,
                Object = folder,
                ObjectType = typeof(Folder),
                ObjectDefinition = contentTypeOrderDefinition,
                ModelHost = modelHost
            });

            TraceService.Verbose((int)LogEventId.ModelProvisionCoreCall, "Reordeging list content types");

            // re-order
            foreach (var srcContentTypeDef in contentTypeOrderDefinition.ContentTypes)
            {
                ContentType listContentType = null;

                if (!string.IsNullOrEmpty(srcContentTypeDef.ContentTypeName))
                {
                    listContentType = listContentTypes.FirstOrDefault(c => c.Name.ToUpper() == srcContentTypeDef.ContentTypeName.ToUpper());

                    if (listContentType != null)
                    {
                        TraceService.Verbose((int)LogEventId.ModelProvisionCoreCall,
                            string.Format("Found content type by name:[{0}]", srcContentTypeDef.ContentTypeName));
                    }
                }

                if (listContentType == null && !string.IsNullOrEmpty(srcContentTypeDef.ContentTypeId))
                {
                    listContentType = listContentTypes.FirstOrDefault(c => c.Id.ToString().ToUpper().StartsWith(srcContentTypeDef.ContentTypeId.ToUpper()));

                    if (listContentType != null)
                    {
                        TraceService.Verbose((int)LogEventId.ModelProvisionCoreCall,
                            string.Format("Found content type by matching ID start:[{0}]", srcContentTypeDef.ContentTypeId));
                    }
                }

                if (listContentType != null)
                {
                    var existingCt = newContentTypeOrder.FirstOrDefault(ct => ct.StringValue.ToUpper() == listContentType.StringId.ToUpper());

                    if (existingCt != null && newContentTypeOrder.Contains(existingCt))
                    {
                        TraceService.Verbose((int)LogEventId.ModelProvisionCoreCall, string.Format("Removing content type from the ordering"));
                        newContentTypeOrder.Remove(existingCt);
                    }
                }
            }

            if (newContentTypeOrder.Count() > 0)
                folder.UniqueContentTypeOrder = newContentTypeOrder;

            InvokeOnModelEvent(this, new ModelEventArgs
            {
                CurrentModelNode = null,
                Model = null,
                EventType = ModelEventType.OnProvisioned,
                Object = folder,
                ObjectType = typeof(Folder),
                ObjectDefinition = contentTypeOrderDefinition,
                ModelHost = modelHost
            });

            folder.Update();

            context.ExecuteQueryWithTrace();
        }
开发者ID:karayakar,项目名称:spmeta2,代码行数:86,代码来源:HideContentTypeLinksModelHandler.cs

示例4: ConvertFolderToDocumentSetImplementation

        /// <summary>
        /// Internal implementation of the Folder conversion to Document set
        /// </summary>
        /// <param name="list">Library in which the folder exists</param>
        /// <param name="folder">Folder to convert</param>
        /// <returns>The newly converted Document Set, so that additional operations (such as setting properties) can be done.</returns>
        private static Folder ConvertFolderToDocumentSetImplementation(this List list, Folder folder)
        {
            list.EnsureProperties(l => l.ContentTypes.Include(c => c.StringId));
            folder.Context.Load(folder.ListItemAllFields, l => l["ContentTypeId"]);
            folder.Context.ExecuteQueryRetry();
            var listItem = folder.ListItemAllFields;

            // If already a document set, just return the folder
            if (listItem["ContentTypeId"].ToString() == BuiltInContentTypeId.Folder) return folder;
            listItem["ContentTypeId"] = BuiltInContentTypeId.DocumentSet;

            // Add missing properties
            listItem["HTML_x0020_File_x0020_Type"] = "Sharepoint.DocumentSet";
            folder.Properties["docset_LastRefresh"] = DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ss");
            folder.Properties["vti_contenttypeorder"] = string.Join(",", list.ContentTypes.ToList().Where(c => c.StringId.StartsWith(BuiltInContentTypeId.Document + "00"))?.Select(c => c.StringId));

            listItem.Update();
            folder.Update();
            list.Context.ExecuteQueryRetry();

            //Refresh Folder, otherwise 'Version conflict' error might be thrown on changing properties
            folder = list.RootFolder.ResolveSubFolder(folder.Name);
            return folder;
        }
开发者ID:rroman81,项目名称:PnP-Sites-Core,代码行数:30,代码来源:FileFolderExtensions.cs

示例5: DeployContentTypeOrder

        private void DeployContentTypeOrder(object modelHost, List list, Folder folder, UniqueContentTypeOrderDefinition contentTypeOrderDefinition)
        {
            var context = folder.Context;

            context.Load(list, l => l.ContentTypes);
            context.Load(folder, f => f.ContentTypeOrder);

            context.ExecuteQueryWithTrace();

            var oldContentTypeOrder = folder.ContentTypeOrder;
            var newContentTypeOrder = new List<ContentTypeId>();

            var listContentTypes = list.ContentTypes.ToList();

            InvokeOnModelEvent(this, new ModelEventArgs
            {
                CurrentModelNode = null,
                Model = null,
                EventType = ModelEventType.OnProvisioning,
                Object = folder,
                ObjectType = typeof(Folder),
                ObjectDefinition = contentTypeOrderDefinition,
                ModelHost = modelHost
            });

            // re-order
            foreach (var srcContentTypeDef in contentTypeOrderDefinition.ContentTypes)
            {
                ContentType listContentType = null;

                if (!string.IsNullOrEmpty(srcContentTypeDef.ContentTypeName))
                    listContentType = listContentTypes.FirstOrDefault(c => c.Name == srcContentTypeDef.ContentTypeName);

                if (listContentType == null && !string.IsNullOrEmpty(srcContentTypeDef.ContentTypeId))
                    listContentType = listContentTypes.FirstOrDefault(c => c.Id.ToString().ToUpper().StartsWith(srcContentTypeDef.ContentTypeId.ToUpper()));

                if (listContentType != null && !newContentTypeOrder.Contains(listContentType.Id))
                    newContentTypeOrder.Add(listContentType.Id);
            }

            // filling up gapes
            foreach (var oldCt in oldContentTypeOrder)
            {
                if (newContentTypeOrder.Count(c =>
                    c.StringValue.ToString().ToUpper().StartsWith(oldCt.StringValue.ToUpper())) == 0)
                    newContentTypeOrder.Add(oldCt);
            }

            if (newContentTypeOrder.Count() > 0)
                folder.UniqueContentTypeOrder = newContentTypeOrder;

            InvokeOnModelEvent(this, new ModelEventArgs
            {
                CurrentModelNode = null,
                Model = null,
                EventType = ModelEventType.OnProvisioned,
                Object = folder,
                ObjectType = typeof(Folder),
                ObjectDefinition = contentTypeOrderDefinition,
                ModelHost = modelHost
            });

            folder.Update();
            context.ExecuteQueryWithTrace();
        }
开发者ID:Uolifry,项目名称:spmeta2,代码行数:65,代码来源:UniqueContentTypeOrderModelHandler.cs

示例6: DeployContentTypeOrder


//.........这里部分代码省略.........

            TraceService.Verbose((int)LogEventId.ModelProvisionCoreCall, "Fetching list content types and the order");

            context.Load(list, l => l.ContentTypes);
            context.Load(folder, f => f.ContentTypeOrder);

            context.ExecuteQueryWithTrace();

            var oldContentTypeOrder = folder.ContentTypeOrder;
            var newContentTypeOrder = new List<ContentTypeId>();

            var listContentTypes = list.ContentTypes.ToList();

            InvokeOnModelEvent(this, new ModelEventArgs
            {
                CurrentModelNode = null,
                Model = null,
                EventType = ModelEventType.OnProvisioning,
                Object = folder,
                ObjectType = typeof(Folder),
                ObjectDefinition = contentTypeOrderDefinition,
                ModelHost = modelHost
            });

            // re-order
            foreach (var srcContentTypeDef in contentTypeOrderDefinition.ContentTypes)
            {
                ContentType listContentType = null;

                if (!string.IsNullOrEmpty(srcContentTypeDef.ContentTypeName))
                {
                    listContentType = listContentTypes.FirstOrDefault(c => c.Name.ToUpper() == srcContentTypeDef.ContentTypeName.ToUpper());

                    if (listContentType != null)
                    {
                        TraceService.Verbose((int)LogEventId.ModelProvisionCoreCall,
                            string.Format("Found content type by name:[{0}]", srcContentTypeDef.ContentTypeName));
                    }
                }

            #if !NET35
                if (listContentType == null && !string.IsNullOrEmpty(srcContentTypeDef.ContentTypeId))
                {
                    listContentType = listContentTypes.FirstOrDefault(c => c.Id.ToString().ToUpper().StartsWith(srcContentTypeDef.ContentTypeId.ToUpper()));

                    if (listContentType != null)
                    {
                        TraceService.Verbose((int)LogEventId.ModelProvisionCoreCall,
                            string.Format("Found content type by matching ID start:[{0}]", srcContentTypeDef.ContentTypeId));
                    }
                }
            #endif

                if (listContentType != null && !newContentTypeOrder.Contains(listContentType.Id))
                {
                    TraceService.Verbose((int)LogEventId.ModelProvisionCoreCall, string.Format("Adding content type to new ordering"));

                    newContentTypeOrder.Add(listContentType.Id);
                }
            }

            // filling up gapes
            foreach (var oldCt in oldContentTypeOrder)
            {
            #if !NET35
                if (newContentTypeOrder.Count(c =>
                    c.StringValue.ToString().ToUpper().StartsWith(oldCt.StringValue.ToUpper())) == 0)
                {
                    newContentTypeOrder.Add(oldCt);
                }
            #endif

            #if NET35
                // .ToString() should return .StringValue of the content type ID
                if (newContentTypeOrder.Count(c =>
                                   c.ToString().ToUpper().StartsWith(oldCt.ToString().ToUpper())) == 0)
                {
                    newContentTypeOrder.Add(oldCt);
                }
            #endif

            }

            if (newContentTypeOrder.Count() > 0)
                folder.UniqueContentTypeOrder = newContentTypeOrder;

            InvokeOnModelEvent(this, new ModelEventArgs
            {
                CurrentModelNode = null,
                Model = null,
                EventType = ModelEventType.OnProvisioned,
                Object = folder,
                ObjectType = typeof(Folder),
                ObjectDefinition = contentTypeOrderDefinition,
                ModelHost = modelHost
            });

            folder.Update();
            context.ExecuteQueryWithTrace();
        }
开发者ID:avishnyakov,项目名称:spmeta2,代码行数:101,代码来源:UniqueContentTypeOrderModelHandler.cs


注:本文中的Folder.Update方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。