Example #1
0
 private void MapConfig(SPWebConfigModification config, WebConfigModificationDefinition definition)
 {
     config.Path     = definition.Path;
     config.Name     = definition.Name;
     config.Sequence = definition.Sequence;
     config.Owner    = definition.Owner;
     config.Type     = (SPWebConfigModification.SPWebConfigModificationType)Enum.Parse(typeof(SPWebConfigModification.SPWebConfigModificationType), definition.Type);
     config.Value    = definition.Value;
 }
Example #2
0
 public static TModelNode AddWebConfigModification <TModelNode>(this TModelNode model, WebConfigModificationDefinition definition,
                                                                Action <WebConfigModificationModelNode> action)
     where TModelNode : ModelNode, IWebApplicationModelNode, new()
 {
     return(model.AddTypedDefinitionNode(definition, action));
 }
Example #3
0
 public static TModelNode AddWebConfigModification <TModelNode>(this TModelNode model, WebConfigModificationDefinition definition)
     where TModelNode : ModelNode, IWebApplicationModelNode, new()
 {
     return(AddWebConfigModification(model, definition, null));
 }
Example #4
0
 public static ModelNode AddWebConfigModification(this ModelNode model, WebConfigModificationDefinition definition, Action <ModelNode> action)
 {
     return(model.AddDefinitionNode(definition, action));
 }
Example #5
0
 public static ModelNode AddWebConfigModification(this ModelNode model, WebConfigModificationDefinition definition)
 {
     return(AddWebConfigModification(model, definition, null));
 }
Example #6
0
 protected SPWebConfigModification GetCurrentSPWebConfigModification(SPWebApplication webApp, WebConfigModificationDefinition definition)
 {
     return(webApp.WebConfigModifications.FirstOrDefault(c => c.Owner == definition.Owner));
 }
Example #7
0
        private void DeployDefinition(WebApplicationModelHost modelHost, SPWebApplication webApp, WebConfigModificationDefinition definition)
        {
            var existingWebConfig = GetCurrentSPWebConfigModification(webApp, definition);

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

            if (existingWebConfig != null)
            {
                webApp.WebConfigModifications.Remove(existingWebConfig);
            }

            existingWebConfig = new SPWebConfigModification();

            MapConfig(existingWebConfig, definition);

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

            webApp.WebConfigModifications.Add(existingWebConfig);

            webApp.Update();
            webApp.WebService.ApplyWebConfigModifications();
        }