public void Clear() { FunctionalElements.Clear(); VisualElements.Clear(); SessionVariables.Clear(); var start = AddNewTask(null, typeof(ElemStart)); AddNewTask(start, typeof(ElemEnd)); }
private void InsertTaskAfterElement(ElemBase origin, ElemBase adding) { adding.Task.VisualElement = adding; if (origin == null && adding.GetType() == typeof(ElemStart)) { FunctionalElements.Add(adding.Task); VisualElements.Add(adding); return; } FunctionalElements.Insert(FunctionalElements.IndexOf(origin.Task) + 1, adding.Task); VisualElements.Insert(VisualElements.IndexOf(origin) + 1, adding); }
private void Task_OnTaskEnd(object sender, TaskEndEventArgs e) { var lastTask = sender as TSBase; CurrentTaskIndex = GetTaskIndex(lastTask); if (ShouldForceStop) { EndSession("Force stop fired"); return; } if (!e.EventSuccessful) { if (RestartOnError) { RestartSession(String.Format("Restarting.. Task error at {0}\n{1} - {2}", CurrentTaskIndex + 1, lastTask.Name, (e.Result as Exception).Message)); } else { EndSession(String.Format("Task error at {0}\n{1} - {2}", CurrentTaskIndex, lastTask.Name, (e.Result as Exception).Message)); } return; } lastTask.AfterTaskEnd(); if (lastTask.GetType() == typeof(TSRestart)) { RestartSession(""); return; } if (lastTask.GetType() == typeof(TSEnd)) { EndSession("Task reached End node"); } FunctionalElements.ElementAt(CurrentTaskIndex + 1).StartTask(e.Result); }