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); }
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); }
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); } }
public static ModelNode AddAudience(this ModelNode model, AudienceDefinition definition, Action <ModelNode> action) { return(model.AddDefinitionNode(definition, action)); }
public static ModelNode AddAudience(this ModelNode model, AudienceDefinition definition) { return(AddAudience(model, definition, null)); }
private void ProcessExistingObject(Audience currentObject, AudienceDefinition definition) { currentObject.AudienceName = definition.AudienceName; currentObject.AudienceDescription = definition.AudienceDescription; }
public static TModelNode AddAudience <TModelNode>(this TModelNode model, AudienceDefinition definition, Action <AudienceModelNode> action) where TModelNode : ModelNode, ISiteModelNode, new() { return(model.AddTypedDefinitionNode(definition, action)); }
public static TModelNode AddAudience <TModelNode>(this TModelNode model, AudienceDefinition definition) where TModelNode : ModelNode, ISiteModelNode, new() { return(AddAudience(model, definition, null)); }