public static TModelNode AddRemoveContentTypeFieldLinks <TModelNode>(this TModelNode model, RemoveContentTypeFieldLinksDefinition definition, Action <RemoveContentTypeFieldLinksModelNode> action) where TModelNode : ModelNode, IContentTypeModelNode, new() { return(model.AddTypedDefinitionNode(definition, action)); }
public static TModelNode AddRemoveContentTypeFieldLinks <TModelNode>(this TModelNode model, RemoveContentTypeFieldLinksDefinition definition) where TModelNode : ModelNode, IContentTypeModelNode, new() { return(AddRemoveContentTypeFieldLinks(model, definition, null)); }
private void DeployHideContentTypeLinks(object modelHost, ContentType contentType, RemoveContentTypeFieldLinksDefinition hideFieldLinksModel) { var context = contentType.Context; context.Load(contentType, c => c.FieldLinks); context.ExecuteQueryWithTrace(); var fieldLinks = contentType.FieldLinks.ToList(); InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioning, Object = contentType, ObjectType = typeof(ContentType), ObjectDefinition = hideFieldLinksModel, ModelHost = modelHost }); // re-order foreach (var srcFieldLink in hideFieldLinksModel.Fields) { FieldLink currentFieldLink = null; if (!string.IsNullOrEmpty(srcFieldLink.InternalName)) { currentFieldLink = fieldLinks.FirstOrDefault(c => c.Name == srcFieldLink.InternalName); } if (currentFieldLink == null && srcFieldLink.Id.HasValue) { currentFieldLink = fieldLinks.FirstOrDefault(c => c.Id == srcFieldLink.Id.Value); } if (currentFieldLink != null) { currentFieldLink.DeleteObject(); } } InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioned, Object = contentType, ObjectType = typeof(ContentType), ObjectDefinition = hideFieldLinksModel, ModelHost = modelHost }); }
private void DeployHideContentTypeLinks(object modelHost, ContentTypeModelHost contentTypeModelHost, RemoveContentTypeFieldLinksDefinition hideFieldLinksModel) { var contentType = contentTypeModelHost.HostContentType; var fieldLinks = contentType.FieldLinks.OfType <SPFieldLink>().ToList(); InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioning, Object = contentType, ObjectType = typeof(SPContentType), ObjectDefinition = hideFieldLinksModel, ModelHost = modelHost }); // re-order foreach (var srcFieldLink in hideFieldLinksModel.Fields) { SPFieldLink currentFieldLink = null; if (!string.IsNullOrEmpty(srcFieldLink.InternalName)) { currentFieldLink = fieldLinks.FirstOrDefault(c => c.Name == srcFieldLink.InternalName); } if (currentFieldLink == null && srcFieldLink.Id.HasValue) { currentFieldLink = fieldLinks.FirstOrDefault(c => c.Id == srcFieldLink.Id.Value); } if (currentFieldLink != null) { contentType.FieldLinks.Delete(currentFieldLink.Id); } } InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioned, Object = contentType, ObjectType = typeof(SPContentType), ObjectDefinition = hideFieldLinksModel, ModelHost = modelHost }); contentTypeModelHost.ShouldUpdateHost = true; }
public static ModelNode AddRemoveContentTypeFieldLinks(this ModelNode model, RemoveContentTypeFieldLinksDefinition definition, Action <ModelNode> action) { return(model.AddDefinitionNode(definition, action)); }
public static ModelNode AddRemoveContentTypeFieldLinks(this ModelNode model, RemoveContentTypeFieldLinksDefinition definition) { return(AddRemoveContentTypeFieldLinks(model, definition, null)); }