public ClientContainerViewModel()
        {
            NavViewModel = new WorkflowNavigationViewModel();
            JobListViewModel = new JobListViewModel();
            TaskFormularViewModel = new TaskFormularViewModel();

            jobListViewModel.NavigateToJobEvent += NavigateToJob;

            JobListViewModel.RefreshJobList();
        }
        public WorkflowEditorViewModel(WorkflowNavigationViewModel workflowNavigation)
        {
            WorkflowNavigation = workflowNavigation;

            // erzeuge ViewModels für DesignerCanvas und Toolbox
            Toolbox = new ToolboxViewModel();

            // workaround um die OnPropertyChanged-Event auszulösen, wenn sich der aktuelle Workflow ändert.
            IsWorkflowSelected = ClientSession.Instance.CurrentWorkflow != null;
            ClientSession.Instance.CurrentWorkflowChangedEvent += ev => 
            {
                IsWorkflowSelected = ClientSession.Instance.CurrentWorkflow != null;
            };

            // Erstelle Canvas mit einer Methode um ein Workflowitem zu öffnen.
            DesignerCanvas = new DesignerCanvasViewModel(item =>
            {   
                try
                {
                    WorkflowitemEditor.LoadWorkflowitem(item);
                }
                catch (RESTException ex)
                {
                    WorkflowEditorDesignerCanvasErrorViewModel.Instance.Error = ex.Message;
                }
                catch (Exception)
                {
                    WorkflowEditorDesignerCanvasErrorViewModel.Instance.Error = "Ein unbekannter Fehler ist aufgetreten!";
                }
            });

            // Beim Worfklow Wechseln wird der Workflowitem-Editor geschlossen.
            ClientSession.Instance.CurrentWorkflowChangedEvent += args => WorkflowitemEditor.Close();

            WorkflowitemEditor = new WorkflowitemEditorViewModel();

            // registriere beim Event des Singleton, damit Fehler im View angezeigt werden können.
            WorkflowEditorDesignerCanvasErrorViewModel.Instance.PropertyChanged += ErrorOnPropertyChanged;
        }
        public WorkflowContentEditorViewModel(WorkflowContentEditorBaseViewModel baseEditorViewModel, WorkflowNavigationViewModel workflowNavigation, TaskComponentGroup selectedGroup)
        {
            this.WorkflowNavigation = workflowNavigation;
            this.baseEditorViewModel = baseEditorViewModel;
            // initialisiere Liste für Components der aktuellen Formgroup
            CurrentComponents = new ObservableCollection<TaskComponent>();
            SelectedGroup = selectedGroup;

            LoadComponentGroups();

            ClientSession.Instance.CurrentWorkflowChangedEvent += ClientSessionPropertyChanged;
            ClientSession.Instance.WorkflowChangedForContentEditorEvent += ClientSessionPropertyChanged;
        }
 public WorkflowContentEditorBaseViewModel(WorkflowNavigationViewModel workflowNavigation)
 {
     WorkflowNavigation = workflowNavigation;
     showGroupListView(null);
 }
 public WorkflowManagerViewModel()
 {
     WorkflowNavigation = new WorkflowNavigationViewModel();
     WorkflowContentEditorBase = new WorkflowContentEditorBaseViewModel(WorkflowNavigation);
     WorkflowEditor = new WorkflowEditorViewModel(WorkflowNavigation);
 }