private void DeployImageRenditionSettings(object modelHost, SiteModelHost siteModelHost, ImageRenditionDefinition imageRenditionModel) { var renditions = SiteImageRenditions.GetRenditions(siteModelHost.HostSite); var currentRendition = GetCurrentImageRendition(renditions, imageRenditionModel); InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioning, Object = currentRendition, ObjectType = typeof(ImageRendition), ObjectDefinition = imageRenditionModel, ModelHost = modelHost }); if (currentRendition == null) { currentRendition = new ImageRendition { Name = imageRenditionModel.Name, Width = imageRenditionModel.Width, Height = imageRenditionModel.Height }; InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioned, Object = currentRendition, ObjectType = typeof(ImageRendition), ObjectDefinition = imageRenditionModel, ModelHost = modelHost }); renditions.Add(currentRendition); renditions.Update(); } else { InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioned, Object = currentRendition, ObjectType = typeof(ImageRendition), ObjectDefinition = imageRenditionModel, ModelHost = modelHost }); } }
private void DeployImageRenditionSettings(object modelHost, SiteModelHost siteModelHost, ImageRenditionDefinition imageRenditionModel) { var context = siteModelHost.HostSite.Context; var renditions = SiteImageRenditions.GetRenditions(siteModelHost.HostSite.Context); context.ExecuteQueryWithTrace(); var currentRendition = GetCurrentImageRendition(renditions, imageRenditionModel); InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioning, Object = currentRendition, ObjectType = typeof(ImageRendition), ObjectDefinition = imageRenditionModel, ModelHost = modelHost }); if (currentRendition == null) { TraceService.Information((int)LogEventId.ModelProvisionProcessingNewObject, "Processing new Image Rendition"); var newRendition = new ImageRendition { Name = imageRenditionModel.Name, Width = imageRenditionModel.Width, Height = imageRenditionModel.Height }; InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioned, Object = newRendition, ObjectType = typeof(ImageRendition), ObjectDefinition = imageRenditionModel, ModelHost = modelHost }); renditions.Add(newRendition); SiteImageRenditions.SetRenditions(context, renditions); context.ExecuteQueryWithTrace(); } else { TraceService.Information((int)LogEventId.ModelProvisionProcessingNewObject, "Processing existing Image Rendition"); InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioned, Object = currentRendition, ObjectType = typeof(ImageRendition), ObjectDefinition = imageRenditionModel, ModelHost = modelHost }); } }
protected ImageRendition GetCurrentImageRendition(IList<ImageRendition> renditions, ImageRenditionDefinition imageRenditionModel) { return renditions.FirstOrDefault(r => !string.IsNullOrEmpty(r.Name) && String.Equals(r.Name, imageRenditionModel.Name, StringComparison.CurrentCultureIgnoreCase)); }
public static ModelNode AddImageRendition(this ModelNode model, ImageRenditionDefinition definition, Action<ModelNode> action) { return model.AddDefinitionNode(definition, action); }
public static ModelNode AddImageRendition(this ModelNode model, ImageRenditionDefinition definition) { return AddImageRendition(model, definition, null); }