示例#1
0
        private void UpdateScenarioListPanel(BuilderMode mode, VisualAlertScenarioData defaultScenario = null)
        {
            bool isAnyScenario = this.scenarioListView.Items.Any();

            switch (mode)
            {
            case BuilderMode.ScenarioList:
                this.scenarioListView.SelectionMode = ListViewSelectionMode.Single;
                if (isAnyScenario)
                {
                    var selectedScenario = ScenarioCollection.FirstOrDefault(x => x.Id == defaultScenario?.Id);
                    if (selectedScenario != null)
                    {
                        this.scenarioListView.SelectedItem = selectedScenario;
                    }
                    else
                    {
                        this.scenarioListView.SelectedIndex = 0;
                    }
                }

                this.newAlertGrid.Visibility = isAnyScenario ? Visibility.Collapsed : Visibility.Visible;
                this.visualAlertBuilderWizardControl.Visibility = isAnyScenario ? Visibility.Collapsed : Visibility.Visible;

                this.scenarioListPanel.Visibility = isAnyScenario ? Visibility.Visible : Visibility.Collapsed;
                this.deleteButton.Visibility      = Visibility.Collapsed;

                this.newAlertStatusGrid.Visibility = Visibility.Collapsed;
                this.newAlertButton.IsEnabled      = true;
                break;

            case BuilderMode.NewAlert:
                this.newAlertGrid.Visibility = Visibility.Visible;
                this.visualAlertBuilderWizardControl.Visibility = Visibility.Visible;

                this.scenarioListPanel.Visibility = Visibility.Collapsed;
                break;

            case BuilderMode.Processing:
                this.newAlertGrid.Visibility = Visibility.Collapsed;
                this.visualAlertBuilderWizardControl.Visibility = Visibility.Collapsed;

                this.scenarioListPanel.Visibility  = Visibility.Visible;
                this.newAlertStatusGrid.Visibility = Visibility.Visible;
                this.newAlertButton.IsEnabled      = false;
                break;
            }

            if (mode == BuilderMode.NewAlert || !isAnyScenario)
            {
                this.scenarioListView.SelectedItem = null;

                this.lifecycleControl.ResetState(clearAll: true);
                LifecycleStepCollection.First().State = LifecycleStepState.Active;
                this.visualAlertBuilderWizardControl.StartWizard();
            }
        }