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();
        }
示例#4
0
        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();
        }
示例#5
0
        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();
        }