private static void setupWeb(WebModelNode web, bool AddNintex = false) { web.AddNintexWorkflowO365(webWorkflow, workflowModel => { #region Events workflowModel.OnProvisioning <Object> (spMetaCtx => { Console.WriteLine("About to provision the workflow on the web"); }); workflowModel.OnProvisioned <NintexO365HandlerOnProvisionedEvent> (spMetaCtx => { Console.WriteLine("Provisoined the workflow for {0}", ((NintexWebWorkflowO365Definition)spMetaCtx.ObjectDefinition).Name); var result = spMetaCtx.Object; if (result.saveResponse != null) { Console.WriteLine("The result of save is {0}", result.saveResponse.Content.ReadAsStringAsync().Result); } if (result.puiblishResponse != null) { Console.WriteLine("The result of publish is {0}", result.puiblishResponse.Content.ReadAsStringAsync().Result); } if (result.assignedUseForProductionValue != null) { Console.WriteLine("The result of assigned use is {0}", result.assignedUseForProductionValue.Content.ReadAsStringAsync().Result); } }); #endregion }); web.AddList(TestList, list => { list.AddContentTypeLink(BuiltInContentTypeId.Issue); // this refers to SPMeta2.NintexExt.Core.Syntax.Default; if (AddNintex) { list.AddNintexFormO365(form, formmodel => { #region Events formmodel.OnProvisioning <Object> (spMetaCtx => { Console.WriteLine("About to provision the form for {0}", ((NintexFormO365Definition)spMetaCtx.ObjectDefinition).ListContentTypeNameOrId); }); formmodel.OnProvisioned <NintexO365HandlerOnProvisionedEvent> (spMetaCtx => { Console.WriteLine("Provisoined the form for {0}", ((NintexFormO365Definition)spMetaCtx.ObjectDefinition).ListContentTypeNameOrId); var result = spMetaCtx.Object; if (result.saveResponse != null) { Console.WriteLine("The result of save is {0}", result.saveResponse.Content.ReadAsStringAsync().Result); } if (result.puiblishResponse != null) { Console.WriteLine("The result of publish is {0}", result.puiblishResponse.Content.ReadAsStringAsync().Result); } if (result.assignedUseForProductionValue != null) { Console.WriteLine("The result of assigned use is {0}", result.assignedUseForProductionValue.Content.ReadAsStringAsync().Result); } }); #endregion }); // if you do not use the syntax default, you can use the line below //list.AddDefinitionNode(form); list.AddNintexWorkflowO365(listWorkflow, listWorkflow => { #region Events listWorkflow.OnProvisioning <Object> (spMetaCtx => { Console.WriteLine("About to provision the list workflow"); }); listWorkflow.OnProvisioned <Object> (spMetaCtx => { Console.WriteLine("Provisoined the list workflow"); }); //TODO: //listWorkflow.OnProvisioned<NintexFormO365HandlerOnProvisionedEvent> // (spMetaCtx => // { // Console.WriteLine("Provisoined the workflow m for {0}", ((NintexFormO365Definition)spMetaCtx.ObjectDefinition).ListContentTypeNameOrId); // var result = spMetaCtx.Object; // if (result.saveResponse != null) // { // Console.WriteLine("The result of save is {0}", result.saveResponse.Content.ReadAsStringAsync().Result); // } // if (result.puiblishResponse != null) // { // Console.WriteLine("The result of publish is {0}", result.puiblishResponse.Content.ReadAsStringAsync().Result); // } // if (result.assignedUseForProductionValue != null) // { // Console.WriteLine("The result of assigned use is {0}", result.assignedUseForProductionValue.Content.ReadAsStringAsync().Result); // } // }); #endregion }); } }); // same here, same list, testing that it works when the list is already there web.AddHostList(TestList, list => { if (AddNintex) { // this refers to SPMeta2.NintexExt.Core.Syntax.Default; list.AddNintexFormO365(form, formmodel => { #region Events formmodel.OnProvisioning <Object> (spMetaCtx => { Console.WriteLine("About to provision the form for {0}", ((NintexFormO365Definition)spMetaCtx.ObjectDefinition).ListContentTypeNameOrId); }); formmodel.OnProvisioned <NintexO365HandlerOnProvisionedEvent> (spMetaCtx => { Console.WriteLine("Provisoined the form for {0}", ((NintexFormO365Definition)spMetaCtx.ObjectDefinition).ListContentTypeNameOrId); var result = spMetaCtx.Object; if (result.saveResponse != null) { Console.WriteLine("The result of save is {0}", result.saveResponse.Content.ReadAsStringAsync().Result); } if (result.puiblishResponse != null) { Console.WriteLine("The result of publish is {0}", result.puiblishResponse.Content.ReadAsStringAsync().Result); } if (result.assignedUseForProductionValue != null) { Console.WriteLine("The result of assigned use is {0}", result.assignedUseForProductionValue.Content.ReadAsStringAsync().Result); } }); #endregion }); // if you do not use the syntax default, you can use the line below //list.AddDefinitionNode(form); list.AddNintexWorkflowO365(listWorkflow, listWorkflow => { #region Events listWorkflow.OnProvisioning <Object> (spMetaCtx => { Console.WriteLine("About to provision the list workflow"); }); listWorkflow.OnProvisioned <NintexO365HandlerOnProvisionedEvent> (spMetaCtx => { Console.WriteLine("Provisoined the workflow m for {0}", ((NintexListWorkflowO365Definition)spMetaCtx.ObjectDefinition).Name); var result = spMetaCtx.Object; if (result.saveResponse != null) { Console.WriteLine("The result of save is {0}", result.saveResponse.Content.ReadAsStringAsync().Result); } if (result.puiblishResponse != null) { Console.WriteLine("The result of publish is {0}", result.puiblishResponse.Content.ReadAsStringAsync().Result); } if (result.assignedUseForProductionValue != null) { Console.WriteLine("The result of assigned use is {0}", result.assignedUseForProductionValue.Content.ReadAsStringAsync().Result); } }); #endregion }); } }); web.AddList(TestList2, list => { list.AddContentTypeLink(BuiltInContentTypeId.Issue); // this refers to SPMeta2.NintexExt.Core.Syntax.Default; if (AddNintex) { list.AddNintexFormO365(form2_item, formmodel => { #region Events formmodel.OnProvisioning <Object> (spMetaCtx => { Console.WriteLine("About to provision the form for {0}", ((NintexFormO365Definition)spMetaCtx.ObjectDefinition).ListContentTypeNameOrId); }); formmodel.OnProvisioned <NintexO365HandlerOnProvisionedEvent> (spMetaCtx => { Console.WriteLine("Provisoined the form for {0}", ((NintexFormO365Definition)spMetaCtx.ObjectDefinition).ListContentTypeNameOrId); var result = spMetaCtx.Object; if (result.saveResponse != null) { Console.WriteLine("The result of save is {0}", result.saveResponse.Content.ReadAsStringAsync().Result); } if (result.puiblishResponse != null) { Console.WriteLine("The result of publish is {0}", result.puiblishResponse.Content.ReadAsStringAsync().Result); } if (result.assignedUseForProductionValue != null) { Console.WriteLine("The result of assigned use is {0}", result.assignedUseForProductionValue.Content.ReadAsStringAsync().Result); } }); #endregion }); list.AddNintexFormO365(form2_issue, formmodel => { #region Events formmodel.OnProvisioning <Object> (spMetaCtx => { Console.WriteLine("About to provision the form for {0}", ((NintexFormO365Definition)spMetaCtx.ObjectDefinition).ListContentTypeNameOrId); }); formmodel.OnProvisioned <NintexO365HandlerOnProvisionedEvent> (spMetaCtx => { Console.WriteLine("Provisoined the form for {0}", ((NintexFormO365Definition)spMetaCtx.ObjectDefinition).ListContentTypeNameOrId); var result = spMetaCtx.Object; if (result.saveResponse != null) { Console.WriteLine("The result of save is {0}", result.saveResponse.Content.ReadAsStringAsync().Result); } if (result.puiblishResponse != null) { Console.WriteLine("The result of publish is {0}", result.puiblishResponse.Content.ReadAsStringAsync().Result); } if (result.assignedUseForProductionValue != null) { Console.WriteLine("The result of assigned use is {0}", result.assignedUseForProductionValue.Content.ReadAsStringAsync().Result); } }); #endregion }); list.AddNintexWorkflowO365(listWorkflow2, listWorkflow => { #region Events listWorkflow.OnProvisioning <Object> (spMetaCtx => { Console.WriteLine("About to provision the list workflow 2"); }); listWorkflow.OnProvisioned <Object> (spMetaCtx => { Console.WriteLine("Provisoined the list workflow 2"); }); #endregion }); } }); }