Ejemplo n.º 1
0
        private void DeployDefinition(object modelHost, SiteModelHost siteModelHost, AudienceDefinition definition)
        {
            var currentObject = GetCurrentObject(siteModelHost, definition);

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

            if (currentObject == null)
            {
                currentObject = CreateObject(siteModelHost, definition);
            }

            ProcessExistingObject(currentObject, definition);

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

            UpdateObject(currentObject);
        }
Ejemplo n.º 2
0
        private Audience CreateObject(SiteModelHost siteModelHost, AudienceDefinition definition)
        {
            var site          = siteModelHost.HostSite;
            var serverContext = ServerContext.GetContext(site);

            var audienceManager = new AudienceManager(serverContext);
            var audiencies      = audienceManager.Audiences;

            var result = audiencies.Create(definition.AudienceName, definition.AudienceDescription);

            return(result);
        }
Ejemplo n.º 3
0
        protected Audience GetCurrentObject(SiteModelHost siteModelHost, AudienceDefinition definition)
        {
            var site          = siteModelHost.HostSite;
            var serverContext = ServerContext.GetContext(site);

            var audienceManager = new AudienceManager(serverContext);
            var audiencies      = audienceManager.Audiences;

            try
            {
                return(audiencies[definition.AudienceName]);
            }
            catch (Exception)
            {
                return(null);
            }
        }
Ejemplo n.º 4
0
 public static ModelNode AddAudience(this ModelNode model, AudienceDefinition definition, Action <ModelNode> action)
 {
     return(model.AddDefinitionNode(definition, action));
 }
Ejemplo n.º 5
0
 public static ModelNode AddAudience(this ModelNode model, AudienceDefinition definition)
 {
     return(AddAudience(model, definition, null));
 }
Ejemplo n.º 6
0
 private void ProcessExistingObject(Audience currentObject, AudienceDefinition definition)
 {
     currentObject.AudienceName        = definition.AudienceName;
     currentObject.AudienceDescription = definition.AudienceDescription;
 }
Ejemplo n.º 7
0
 public static TModelNode AddAudience <TModelNode>(this TModelNode model, AudienceDefinition definition,
                                                   Action <AudienceModelNode> action)
     where TModelNode : ModelNode, ISiteModelNode, new()
 {
     return(model.AddTypedDefinitionNode(definition, action));
 }
Ejemplo n.º 8
0
 public static TModelNode AddAudience <TModelNode>(this TModelNode model, AudienceDefinition definition)
     where TModelNode : ModelNode, ISiteModelNode, new()
 {
     return(AddAudience(model, definition, null));
 }