private void DeployAuditSettings(object modelHost, AuditSettingsDefinition definition) { var auditObj = GetCurrentAuditObject(modelHost); InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioning, Object = auditObj, ObjectType = typeof(SPAudit), ObjectDefinition = definition, ModelHost = modelHost }); if (definition.AuditFlags.Any()) { var mask = SPAuditMaskType.None; foreach (var auditFlag in definition.AuditFlags) { var flag = (SPAuditMaskType)Enum.Parse(typeof(SPAuditMaskType), auditFlag); mask = mask | flag; } auditObj.AuditFlags = mask; } InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioned, Object = auditObj, ObjectType = typeof(SPAudit), ObjectDefinition = definition, ModelHost = modelHost }); auditObj.Update(); }
public void CanDeploy_AuditSettings_ToList() { WithExpectedUnsupportedCSOMnO365RunnerExceptions(() => { var siteModel = SPMeta2Model .NewSiteModel(site => { site.AddRandomAuditSetting(); }); var listAuditSetting = new AuditSettingsDefinition(); if (Rnd.Bool()) { listAuditSetting.AuditFlags = new Collection<string> { BuiltInAuditMaskType.CheckIn, BuiltInAuditMaskType.CheckOut, BuiltInAuditMaskType.Copy, BuiltInAuditMaskType.Move }; } else { listAuditSetting.AuditFlags = new Collection<string> { BuiltInAuditMaskType.CheckIn, BuiltInAuditMaskType.Copy, }; } var webModel = SPMeta2Model .NewWebModel(web => { web.AddRandomList(list => { list.AddAuditSettings(listAuditSetting); }); }); TestModels(new ModelNode[] { siteModel, webModel }); }); }
public static ModelNode AddAuditSettings(this ModelNode model, AuditSettingsDefinition definition, Action<ModelNode> action) { return model.AddDefinitionNode(definition, action); }
public static ModelNode AddAuditSettings(this ModelNode model, AuditSettingsDefinition definition) { return AddAuditSettings(model, definition, null); }