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);
};
}
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); }); }