Esempio n. 1
0
        public void SelectOption()
        {
            Console.WriteLine(new string('*', 20));
            Console.WriteLine(new string('*', 20));
            Console.WriteLine("For...");
            Console.WriteLine("Show Data Select 1");
            Console.WriteLine("Insert Data Select 2");
            Console.WriteLine("Update Data Select 3");
            Console.WriteLine("Delete Data Select 4");
            Console.WriteLine();
            Console.Write("Your Selection :  ");
            int selection = Convert.ToInt32(Console.ReadLine());

            switch (selection)
            {
            case 1:
                ListWorkflow listwf = new ListWorkflow();
                listwf.Exe();
                break;

            case 2:
                AddWorkflow Addwf = new AddWorkflow();
                Addwf.Exe();
                break;

            case 3:
                UpdateWorkflow UpdateWF = new UpdateWorkflow();
                UpdateWF.Exe();
                break;

            default:
                break;
            }
        }
Esempio n. 2
0
        private static bool ProcessChoice()
        {
            string input = Console.ReadLine();

            switch (input)
            {
            case "1":
                ListWorkflow listwf = new ListWorkflow();
                listwf.Exe();
                break;

            case "2":
                AddWorkflow addwf = new AddWorkflow();
                addwf.Exe();
                break;

            case "3":
                UpdateWorkflow UWF = new UpdateWorkflow();
                UWF.Exe();
                break;

            case "4":
                DeleteWorkflow DWF = new DeleteWorkflow();
                DWF.Exe();
                break;

            default:
                Console.WriteLine("This is not a valid choice. Press any key to continue...");
                Console.ReadKey();
                break;
            }
            return(true);
        }
Esempio n. 3
0
        public static void CanUpdate(Workflows workflows, UpdateWorkflow command)
        {
            Guard.NotNull(command, nameof(command));

            CheckWorkflowExists(workflows, command.WorkflowId);

            Validate.It(() => "Cannot update workflow.", e =>
            {
                if (command.Workflow == null)
                {
                    e(Not.Defined("Workflow"), nameof(command.Workflow));
                    return;
                }

                var workflow = command.Workflow;

                if (!workflow.Steps.ContainsKey(workflow.Initial))
                {
                    e(Not.Defined("Initial step"), $"{nameof(command.Workflow)}.{nameof(workflow.Initial)}");
                }

                if (workflow.Initial == Status.Published)
                {
                    e("Initial step cannot be published step.", $"{nameof(command.Workflow)}.{nameof(workflow.Initial)}");
                }

                var stepsPrefix = $"{nameof(command.Workflow)}.{nameof(workflow.Steps)}";

                if (!workflow.Steps.ContainsKey(Status.Published))
                {
                    e("Workflow must have a published step.", stepsPrefix);
                }

                foreach (var step in workflow.Steps)
                {
                    var stepPrefix = $"{stepsPrefix}.{step.Key}";

                    if (step.Value == null)
                    {
                        e(Not.Defined("Step"), stepPrefix);
                    }
                    else
                    {
                        foreach (var(status, transition) in step.Value.Transitions)
                        {
                            var transitionPrefix = $"{stepPrefix}.{nameof(step.Value.Transitions)}.{status}";

                            if (!workflow.Steps.ContainsKey(status))
                            {
                                e("Transition has an invalid target.", transitionPrefix);
                            }

                            if (transition == null)
                            {
                                e(Not.Defined("Transition"), transitionPrefix);
                            }
                        }
                    }
Esempio n. 4
0
        public void CanUpdate_should_throw_exception_if_workflow_is_not_defined()
        {
            var command = new UpdateWorkflow {
                WorkflowId = workflowId
            };

            ValidationAssert.Throws(() => GuardAppWorkflows.CanUpdate(workflows, command),
                                    new ValidationError("Workflow is required.", "Workflow"));
        }
Esempio n. 5
0
        public void CanUpdate_should_throw_exception_if_workflow_not_found()
        {
            var command = new UpdateWorkflow
            {
                Workflow   = Workflow.Empty,
                WorkflowId = Guid.NewGuid()
            };

            Assert.Throws <DomainObjectNotFoundException>(() => GuardAppWorkflows.CanUpdate(workflows, command));
        }
Esempio n. 6
0
        public async Task UpdateWorkflow_should_create_events_and_update_state()
        {
            var command = new UpdateWorkflow {
                WorkflowId = workflowId, Workflow = Workflow.Default
            };

            await ExecuteCreateAsync();
            await ExecuteAddWorkflowAsync();

            var result = await sut.ExecuteAsync(CreateCommand(command));

            result.ShouldBeEquivalent(sut.Snapshot);

            Assert.NotEmpty(sut.Snapshot.Workflows);

            LastEvents
            .ShouldHaveSameEvents(
                CreateEvent(new AppWorkflowUpdated {
                WorkflowId = workflowId, Workflow = Workflow.Default
            })
                );
        }
 private void UpdateWorkflow(UpdateWorkflow command)
 {
     Raise(command, new AppWorkflowUpdated());
 }
Esempio n. 8
0
 public void UpdateWorkflow(UpdateWorkflow command)
 {
     RaiseEvent(SimpleMapper.Map(command, new AppWorkflowUpdated()));
 }
Esempio n. 9
0
        public static void CanUpdate(Workflows workflows, UpdateWorkflow command)
        {
            Guard.NotNull(command, nameof(command));

            CheckWorkflowExists(workflows, command.WorkflowId);

            Validate.It(e =>
            {
                if (command.Workflow == null)
                {
                    e(Not.Defined(nameof(command.Workflow)), nameof(command.Workflow));
                    return;
                }

                var workflow = command.Workflow;

                if (!workflow.Steps.ContainsKey(workflow.Initial))
                {
                    e(Not.Defined("InitialStep"), $"{nameof(command.Workflow)}.{nameof(workflow.Initial)}");
                }

                if (workflow.Initial == Status.Published)
                {
                    e(T.Get("workflows.publishedIsInitial"), $"{nameof(command.Workflow)}.{nameof(workflow.Initial)}");
                }

                var stepsPrefix = $"{nameof(command.Workflow)}.{nameof(workflow.Steps)}";

                if (!workflow.Steps.ContainsKey(Status.Published))
                {
                    e(T.Get("workflows.publishedNotDefined"), stepsPrefix);
                }

                foreach (var step in workflow.Steps)
                {
                    var stepPrefix = $"{stepsPrefix}.{step.Key}";

                    if (step.Value == null)
                    {
                        e(Not.Defined("WorkflowStep"), stepPrefix);
                    }
                    else
                    {
                        foreach (var(status, transition) in step.Value.Transitions)
                        {
                            var transitionPrefix = $"{stepPrefix}.{nameof(step.Value.Transitions)}.{status}";

                            if (!workflow.Steps.ContainsKey(status))
                            {
                                e(T.Get("workflows.publishedStepNotFound"), transitionPrefix);
                            }

                            if (transition == null)
                            {
                                e(Not.Defined("WorkflowTransition"), transitionPrefix);
                            }
                        }
                    }
                }
            });
        }