private void InitServices() { _provisionService = new CSOMProvisionService(); _validationService = new CSOMValidationService(); // TODO, setup a high level validation registration _provisionService.PreDeploymentServices.Add(new DefaultRequiredPropertiesValidationService()); var csomStandartAsm = typeof(TaxonomyFieldModelHandler).Assembly; foreach (var handlerType in ReflectionUtils.GetTypesFromAssembly <ModelHandlerBase>(csomStandartAsm)) { _provisionService.RegisterModelHandler(Activator.CreateInstance(handlerType) as ModelHandlerBase); } var csomtandartValidationAsm = typeof(ClientTaxonomyFieldDefinitionValidator).Assembly; foreach (var handlerType in ReflectionUtils.GetTypesFromAssembly <ModelHandlerBase>(csomtandartValidationAsm)) { _validationService.RegisterModelHandler(Activator.CreateInstance(handlerType) as ModelHandlerBase); } _provisionService.OnModelNodeProcessing += (sender, args) => { Trace.WriteLine( string.Format("Processing: [{0}/{1}] - [{2:0} %] - [{3}] [{4}]", new object[] { args.ProcessedModelNodeCount, args.TotalModelNodeCount, 100d * (double)args.ProcessedModelNodeCount / (double)args.TotalModelNodeCount, args.CurrentNode.Value.GetType().Name, args.CurrentNode.Value })); }; _provisionService.OnModelNodeProcessed += (sender, args) => { Trace.WriteLine( string.Format("Processed: [{0}/{1}] - [{2:0} %] - [{3}] [{4}]", new object[] { args.ProcessedModelNodeCount, args.TotalModelNodeCount, 100d * (double)args.ProcessedModelNodeCount / (double)args.TotalModelNodeCount, args.CurrentNode.Value.GetType().Name, args.CurrentNode.Value })); }; }
public void RegisterCustomModelHandlerWithSyntax() { var csomProvisionService = new CSOMProvisionService(); csomProvisionService.RegisterModelHandler(new ChangeWebTitleAndDescriptionModelHandler()); var webModel = SPMeta2Model.NewWebModel(web => { web.AddChangeWebTitleAndDescription(new ChangeWebTitleAndDescriptionDefinition { Title = "A new name for the web", Description = "Some changes done by ChangeWebTitleAndDescriptionDefinition" }); }); using (var clientContext = new ClientContext(CSOMSiteUrl)) csomProvisionService.DeployWebModel(clientContext, webModel); }
private void InitServices() { _provisionService = new CSOMProvisionService(); _validationService = new CSOMValidationService(); var csomStandartAsm = typeof(TaxonomyFieldModelHandler).Assembly; foreach (var handlerType in ReflectionUtils.GetTypesFromAssembly <ModelHandlerBase>(csomStandartAsm)) { _provisionService.RegisterModelHandler(Activator.CreateInstance(handlerType) as ModelHandlerBase); } var csomtandartValidationAsm = typeof(ClientTaxonomyFieldDefinitionValidator).Assembly; foreach (var handlerType in ReflectionUtils.GetTypesFromAssembly <ModelHandlerBase>(csomtandartValidationAsm)) { _validationService.RegisterModelHandler(Activator.CreateInstance(handlerType) as ModelHandlerBase); } }
private void InitServices() { _provisionService = new CSOMProvisionService(); _validationService = new CSOMValidationService(); // TODO, setup a high level validation registration _provisionService.PreDeploymentServices.Add(new DefaultRequiredPropertiesValidationService()); var csomStandartAsm = typeof(TaxonomyFieldModelHandler).Assembly; foreach (var handlerType in ReflectionUtils.GetTypesFromAssembly <ModelHandlerBase>(csomStandartAsm)) { _provisionService.RegisterModelHandler(Activator.CreateInstance(handlerType) as ModelHandlerBase); } var csomtandartValidationAsm = typeof(ClientTaxonomyFieldDefinitionValidator).Assembly; foreach (var handlerType in ReflectionUtils.GetTypesFromAssembly <ModelHandlerBase>(csomtandartValidationAsm)) { _validationService.RegisterModelHandler(Activator.CreateInstance(handlerType) as ModelHandlerBase); } }
public void RegisterCustomModelHandlerWithEvents() { var csomProvisionService = new CSOMProvisionService(); csomProvisionService.RegisterModelHandler(new ChangeWebTitleAndDescriptionModelHandler()); var webModel = SPMeta2Model.NewWebModel(web => { web.AddChangeWebTitleAndDescription(new ChangeWebTitleAndDescriptionDefinition { Title = "A new name for the web", Description = "Some changes done by ChangeWebTitleAndDescriptionDefinition" }, changeWebAndTitle => { changeWebAndTitle.OnProvisioning <Web, ChangeWebTitleAndDescriptionDefinition>(cntx => { var cntxWeb = cntx.Object; var cntxDef = cntx.ObjectDefinition; // do stuff }); changeWebAndTitle.OnProvisioned <Web, ChangeWebTitleAndDescriptionDefinition>(cntx => { var cntxWeb = cntx.Object; var cntxDef = cntx.ObjectDefinition; // do stuff }); }); }); using (var clientContext = new ClientContext(CSOMSiteUrl)) csomProvisionService.DeployWebModel(clientContext, webModel); }