Esempio n. 1
0
 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
             });
         }
     });
 }