Ejemplo n.º 1
0
        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
                }));
            };
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
        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);
            }
        }
Ejemplo n.º 5
0
        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);
        }