public override void UpdateDatabaseAfterUpdateSchema() { base.UpdateDatabaseAfterUpdateSchema(); ObjectSpace.Delete(ObjectSpace.GetObjects <Note>()); ObjectSpace.Delete(ObjectSpace.GetObjects <TaskType>()); ObjectSpace.CommitChanges(); for (int i = 0; i < 1000; i++) { Note note = ObjectSpace.CreateObject <Note>(); note.Name = "note " + i; } TaskType taskType = ObjectSpace.CreateObject <TaskType>(); taskType.Name = "2"; XpoWorkflowDefinition wfDefinition = ObjectSpace.FindObject <XpoWorkflowDefinition>(new BinaryOperator("Name", "Simple performance test")); if (wfDefinition == null) { wfDefinition = ObjectSpace.CreateObject <XpoWorkflowDefinition>(); wfDefinition.Name = "Simple performance test"; wfDefinition.Criteria = "[IsProcessed] = False"; Version ver = typeof(XafApplication).Assembly.GetName().Version; wfDefinition.Xaml = string.Format(Xaml1, ver.Major, ver.Minor); wfDefinition.TargetObjectType = typeof(Note); wfDefinition.AutoStartWhenObjectFitsCriteria = true; wfDefinition.AutoStartWhenObjectIsCreated = false; wfDefinition.IsActive = true; } ObjectSpace.CommitChanges(); }
public override void UpdateDatabaseAfterUpdateSchema() { base.UpdateDatabaseAfterUpdateSchema(); if (ObjectSpace.GetObjects <Issue>().Count == 0) { Issue issue1 = ObjectSpace.CreateObject <Issue>(); issue1.Subject = "Processed issue"; issue1.Active = false; Issue issue2 = ObjectSpace.CreateObject <Issue>(); issue2.Subject = "Active issue"; issue2.Active = true; } if (ObjectSpace.GetObjects <XpoWorkflowDefinition>().Count == 0) { XpoWorkflowDefinition definition = ObjectSpace.CreateObject <XpoWorkflowDefinition>(); definition.Name = "Create Task for active Issue"; definition.Xaml = GetXaml("WorkflowExample.Module.DatabaseUpdate.CreateTaskForActiveIssue.xml"); definition.TargetObjectType = typeof(Issue); definition.AutoStartWhenObjectFitsCriteria = true; definition.Criteria = "[Active] = True"; definition.IsActive = true; } SecuritySystemRole adminRole = ObjectSpace.FindObject <SecuritySystemRole>( new BinaryOperator("Name", SecurityStrategy.AdministratorRoleName)); if (adminRole == null) { adminRole = ObjectSpace.CreateObject <SecuritySystemRole>(); adminRole.Name = SecurityStrategy.AdministratorRoleName; adminRole.IsAdministrative = true; adminRole.Save(); } SecuritySystemUser adminUser = ObjectSpace.FindObject <SecuritySystemUser>( new BinaryOperator("UserName", "Administrator")); if (adminUser == null) { adminUser = ObjectSpace.CreateObject <SecuritySystemUser>(); adminUser.UserName = "******"; adminUser.SetPassword(""); adminUser.Roles.Add(adminRole); } SecuritySystemUser workflowServiceUser = ObjectSpace.FindObject <SecuritySystemUser>( new BinaryOperator("UserName", "WorkflowService")); if (workflowServiceUser == null) { workflowServiceUser = ObjectSpace.CreateObject <SecuritySystemUser>(); workflowServiceUser.UserName = "******"; workflowServiceUser.SetPassword(""); workflowServiceUser.Roles.Add(adminRole); } ObjectSpace.CommitChanges(); }
public override void UpdateDatabaseAfterUpdateSchema() { base.UpdateDatabaseAfterUpdateSchema(); //string name = "MyName"; //DomainObject1 theObject = ObjectSpace.FindObject<DomainObject1>(CriteriaOperator.Parse("Name=?", name)); //if(theObject == null) { // theObject = ObjectSpace.CreateObject<DomainObject1>(); // theObject.Name = name; //} XpoWorkflowDefinition definition = ObjectSpace.CreateObject <XpoWorkflowDefinition>(); definition.Name = "CallStoredProc"; definition.Xaml = wfDefinition; ObjectSpace.CommitChanges(); }
private void CreateDemoObjects() { if (ObjectSpace.GetObjects <Issue>().Count == 0) { Issue issue = ObjectSpace.CreateObject <Issue>(); issue.Subject = "Processed issue"; issue.Active = false; Issue issue2 = ObjectSpace.CreateObject <Issue>(); issue2.Subject = "Active issue"; issue2.Active = true; } if (ObjectSpace.GetObjects <XpoWorkflowDefinition>().Count == 0) { XpoWorkflowDefinition definition = ObjectSpace.CreateObject <XpoWorkflowDefinition>(); definition.Name = "Create Task for active Issue"; definition.Xaml = CreateTaskForActiveIssueWorkflowXaml; definition.TargetObjectType = typeof(Issue); definition.AutoStartWhenObjectFitsCriteria = true; definition.Criteria = "[Active] = True"; definition.IsActive = true; XpoWorkflowDefinition codeActivityDefinition = ObjectSpace.CreateObject <XpoWorkflowDefinition>(); codeActivityDefinition.Name = "Create Task for active Issue (Code Activity)"; codeActivityDefinition.Xaml = CodeActivityCreateTaskForActiveIssueWorkflowXaml; codeActivityDefinition.TargetObjectType = typeof(Issue); codeActivityDefinition.AutoStartWhenObjectFitsCriteria = true; codeActivityDefinition.Criteria = "Contains([Subject], 'Code Activity')"; codeActivityDefinition.IsActive = true; XpoWorkflowDefinition customStartWorkflowActivityDefinition = ObjectSpace.CreateObject <XpoWorkflowDefinition>(); customStartWorkflowActivityDefinition.Name = "Custom start workflow"; customStartWorkflowActivityDefinition.Xaml = StartWorkflowViaReceiveAndCustomContractXaml; customStartWorkflowActivityDefinition.TargetObjectType = typeof(WorkflowDemo.Module.Objects.Task); customStartWorkflowActivityDefinition.IsActive = true; XpoWorkflowDefinition receiveCorrelationsActivityDefinition = ObjectSpace.CreateObject <XpoWorkflowDefinition>(); receiveCorrelationsActivityDefinition.Name = "Start/stop (correlations) demo"; receiveCorrelationsActivityDefinition.Xaml = ReceiveCorrelationsXaml; receiveCorrelationsActivityDefinition.TargetObjectType = typeof(WorkflowDemo.Module.Objects.Task); receiveCorrelationsActivityDefinition.IsActive = true; } ObjectSpace.CommitChanges(); }
private void CreateDemoObjects() { User user = ObjectSpace.FindObject <User>(new BinaryOperator("UserName", "Sam")); if (user == null) { user = ObjectSpace.CreateObject <User>(); user.UserName = "******"; user.FirstName = "Sam"; } User user2 = ObjectSpace.FindObject <User>(new BinaryOperator("UserName", "John")); if (user2 == null) { user2 = ObjectSpace.CreateObject <User>(); user2.UserName = "******"; user2.FirstName = "John"; } User workflowServiceUser = ObjectSpace.FindObject <User>(new BinaryOperator("UserName", "WorkflowService")); if (workflowServiceUser == null) { workflowServiceUser = ObjectSpace.CreateObject <User>(); workflowServiceUser.UserName = "******"; workflowServiceUser.FirstName = "WorkflowService"; } Role adminRole = ObjectSpace.FindObject <Role>(new BinaryOperator("Name", "Administrators")); if (adminRole == null) { adminRole = ObjectSpace.CreateObject <Role>(); adminRole.Name = "Administrators"; adminRole.AddPermission(new ObjectAccessPermission(typeof(object), ObjectAccess.AllAccess)); adminRole.AddPermission(new EditModelPermission(ModelAccessModifier.Allow)); adminRole.Users.Add(user); adminRole.Users.Add(workflowServiceUser); } if (ObjectSpace.GetObjects <Issue>().Count == 0) { Issue issue = ObjectSpace.CreateObject <Issue>(); issue.Subject = "Processed issue"; issue.Active = false; issue.SetCreatedBy(user); Issue issue2 = ObjectSpace.CreateObject <Issue>(); issue2.Subject = "Active issue"; issue2.Active = true; issue2.SetCreatedBy(user); } if (ObjectSpace.GetObjects <XpoWorkflowDefinition>().Count == 0) { XpoWorkflowDefinition definition = ObjectSpace.CreateObject <XpoWorkflowDefinition>(); definition.Name = "Create Task for active Issue"; definition.Xaml = CreateTaskForActiveIssueWorkflowXaml; definition.TargetObjectType = typeof(Issue); definition.AutoStartWhenObjectFitsCriteria = true; definition.Criteria = "[Active] = True"; definition.IsActive = true; XpoWorkflowDefinition codeActivityDefinition = ObjectSpace.CreateObject <XpoWorkflowDefinition>(); codeActivityDefinition.Name = "Create Task for active Issue (Code Activity)"; codeActivityDefinition.Xaml = CodeActivityCreateTaskForActiveIssueWorkflowXaml; codeActivityDefinition.TargetObjectType = typeof(Issue); codeActivityDefinition.AutoStartWhenObjectIsCreated = true; codeActivityDefinition.IsActive = false; XpoWorkflowDefinition customStartWorkflowActivityDefinition = ObjectSpace.CreateObject <XpoWorkflowDefinition>(); customStartWorkflowActivityDefinition.Name = "Custom start workflow"; customStartWorkflowActivityDefinition.Xaml = StartWorkflowViaReceiveAndCustomContractXaml; customStartWorkflowActivityDefinition.TargetObjectType = typeof(WorkflowDemo.Module.Objects.Task); customStartWorkflowActivityDefinition.IsActive = true; XpoWorkflowDefinition receiveCorrelationsActivityDefinition = ObjectSpace.CreateObject <XpoWorkflowDefinition>(); receiveCorrelationsActivityDefinition.Name = "Start/stop (correlations) demo"; receiveCorrelationsActivityDefinition.Xaml = ReceiveCorrelationsXaml; receiveCorrelationsActivityDefinition.TargetObjectType = typeof(WorkflowDemo.Module.Objects.Task); receiveCorrelationsActivityDefinition.IsActive = true; } ObjectSpace.CommitChanges(); }