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; } }
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); }
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); } } }
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")); }
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)); }
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()); }
public void UpdateWorkflow(UpdateWorkflow command) { RaiseEvent(SimpleMapper.Map(command, new AppWorkflowUpdated())); }
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); } } } } }); }