/// <summary> /// Wechselt zum Tab InhaltsEditor und selektiert den übergebenen Workflo /// </summary> /// <param name="workflow">der Workflow der ausgewählt werden soll</param> public void SwitchToWorkflow(Workflow workflow) { // zur "Workflow editieren"-Ansicht wechseln SelectedTabIndex = 1; ClientSession.Instance.WorkflowAdded(workflow); }
public void CreateJobWithoutFirstTask() { var createJobResponse = new CreateJobResponse(); createJobResponse.JobId = 2; createJobResponse.TaskId = null; var workflow = new Workflow(5); var retrievedCreateJobResponse = client.CreateJob(workflow); Assert.AreEqual(createJobResponse.JobId, retrievedCreateJobResponse.JobId); Assert.AreEqual(createJobResponse.TaskId, retrievedCreateJobResponse.TaskId); }
/// <summary> /// Message-Delegate wenn ein Workflow hinzugefügt wurde /// </summary> /// <param name="workflow"></param> public void WorkflowAdded(Workflow workflow) { UpdateWorkflows(workflow); }
/// <summary> /// Meldet das System an allen relevanten Workflow bezogenen Messages an /// </summary> /// <param name="workflow"></param> public void SubscribeToWorkflow(Workflow workflow) { if (user == null) { return; } if (user.IsAdmin) { MessageClient.AddWorkflowContentEditorConsumer(workflow.Id, WorkflowUpdatedForContentEditor); MessageClient.AddWorkflowEditorConsumer(workflow.Id, WorkflowUpdatedForWorkflowEditor); } else { MessageClient.AddWorkflowClientConsumer(workflow.Id, WorkflowUpdated); } }
/// <summary> /// Entfernt einen Workflow sicher. /// </summary> /// <param name="workflow">Der zu löschenden Workflow</param> public void RemoveWorkflow(Workflow workflow) { if (workflow.Equals(CurrentWorkflow)) { CurrentWorkflow = null; } Workflows.Remove(workflow); }
/// <summary> /// Methode zum befüllen der Workflow-Liste. /// Läd alle Workflows eines eingeloggten Users /// </summary> public void UpdateWorkflows(Workflow selectNewWorkflow) { var newWorkflows = RelaxoClient.GetWorkflows(); // wenn es keine neuen Workflows gibt, leeren if (newWorkflows.Count <= 0) { Workflows.Clear(); return; } // wenn es keine momentanen workflows gibt, einfach neue workflows nehmen if (Workflows.Count <= 0) { addWorkflows(newWorkflows); CurrentWorkflow = Workflows[0]; return; } // gelöschte Workflows aus vorhandenen entfernen List<Workflow> toRemoveOldWorkflows = new List<Workflow>(); foreach (Workflow oldWorkflow in Workflows) { // TODO: lieber equals überschreiben bool foundWorkflow = false; foreach (Workflow newWorkflow in newWorkflows) { if (newWorkflow.Id == oldWorkflow.Id) { foundWorkflow = true; break; } } if (foundWorkflow == false) { toRemoveOldWorkflows.Add(oldWorkflow); } } RemoveWorkflows(toRemoveOldWorkflows); // ansonsten schon vorhandene aus liste löschen foreach (Workflow oldWorkflow in Workflows) { // TODO: lieber equals überschreiben List<Workflow> toRemove = new List<Workflow>(); foreach (Workflow newWorkflow in newWorkflows) { if (newWorkflow.Id == oldWorkflow.Id) { toRemove.Add(newWorkflow); } } // remove foreach (Workflow toRemoveWorkflow in toRemove) { newWorkflows.Remove(toRemoveWorkflow); } } // fertig, wenn es keine neuen Workflows gibt if (newWorkflows.Count <= 0) { return; } // ansonsten neue Workflows adden addWorkflows(newWorkflows); // neuen Workflow auswählen, falls gesetzt if (selectNewWorkflow != null) { foreach (Workflow workflow in Workflows) { // Contain/Equals geht nicht, da `selectNewWorkflow` nur ein Dummy von der REST-Response ist if (workflow.Id == selectNewWorkflow.Id) { CurrentWorkflow = workflow; } } } }
public void CreateJobWithFirstTask() { restClientMock = new Mock<IRestClient>(); restClientMock.Setup(x => x.Execute(It.IsAny<IRestRequest>())) .Returns(new RestResponse { ContentType = "application/json", StatusCode = HttpStatusCode.Created, Content = @" { ""data"": { ""jobId"": 2, ""taskId"": 5 } }" }); client = new RelaxoClient(restClientMock.Object); var createJobResponse = new CreateJobResponse(); createJobResponse.JobId = 2; createJobResponse.TaskId = 5; var workflow = new Workflow(5); var retrievedCreateJobResponse = client.CreateJob(workflow); Assert.AreEqual(createJobResponse.JobId, retrievedCreateJobResponse.JobId); Assert.AreEqual(createJobResponse.TaskId, retrievedCreateJobResponse.TaskId); }
public WorkflowChangedEventArgs(object sender, Workflow oldWorkflow, Workflow newWorkflow) :base(sender, newWorkflow) { OldWorkflow = oldWorkflow; }
public WorkflowEventArgs(object sender, Workflow w) :base() { Workflow = w; Sender = sender; }