M2RootNamespace.Utils.ConsoleUtils.TraceDeploymentProgress C# (CSharp) Method

TraceDeploymentProgress() public method

public TraceDeploymentProgress ( ProvisionServiceBase provisionService ) : void
provisionService ProvisionServiceBase
return void
        public virtual void TraceDeploymentProgress(ProvisionServiceBase provisionService)
        {
            provisionService.OnModelNodeProcessed += (sender, args) =>
            {
                Console.WriteLine(string.Empty);
                Console.WriteLine(string.Empty);

                var message = string.Format("Processed: [{0}/{1}] - [{2:00.0} %] - [{3}] [{4}]",
                    new object[]
                    {
                        args.ProcessedModelNodeCount,
                        args.TotalModelNodeCount,
                        100d*(double) args.ProcessedModelNodeCount/(double) args.TotalModelNodeCount,
                        args.CurrentNode.Value.GetType().Name,
                        args.CurrentNode.Value
                    });

                Trace.WriteLine(message);
                Console.WriteLine(message);
            };
        }

Usage Example

        static void Main(string[] args)
        {
            var siteUrl = "http://portal";
            var o365UserName = "******";
            var o365UserPassword = "******";

            var consoleUtils = new ConsoleUtils();

            consoleUtils.WithO365Context(siteUrl, o365UserName, o365UserPassword, context =>
            {
                // replace it with your M2 models
                var siteModel = default(ModelNode);
                var rotWebModel = default(ModelNode);

                // create a provision service - CSOMProvisionService or StandardCSOMProvisionService
                var provisionService = new CSOMProvisionService();

                // little nice thing, tracing the progress
                consoleUtils.TraceDeploymentProgress(provisionService);

                // deploy!
                provisionService.DeploySiteModel(context, siteModel);
                provisionService.DeployWebModel(context, rotWebModel);
            });
        }
All Usage Examples Of M2RootNamespace.Utils.ConsoleUtils::TraceDeploymentProgress