Example #1
0
        private void LoadModel()
        {
            _objectTypes.Items.Clear();
            _annotationLayoutControlItem.Visible = false;

            if (_model.Entities?.OfType <IExternalInteractor>()
                .Any(x => _schemaManager.HasReviewNotes(x) && x.HasNotesWithText(_schemaManager, _filter.Text)) ?? false)
            {
                _objectTypes.Items.Add("External Interactors");
            }
            if (_model.Entities?.OfType <IProcess>()
                .Any(x => _schemaManager.HasReviewNotes(x) && x.HasNotesWithText(_schemaManager, _filter.Text)) ?? false)
            {
                _objectTypes.Items.Add("Processes");
            }
            if (_model.Entities?.OfType <IDataStore>()
                .Any(x => _schemaManager.HasReviewNotes(x) && x.HasNotesWithText(_schemaManager, _filter.Text)) ?? false)
            {
                _objectTypes.Items.Add("Data Stores");
            }
            if (_model.DataFlows?
                .Any(x => _schemaManager.HasReviewNotes(x) && x.HasNotesWithText(_schemaManager, _filter.Text)) ?? false)
            {
                _objectTypes.Items.Add("Flows");
            }
            if (_model.Groups?.OfType <ITrustBoundary>()
                .Any(x => _schemaManager.HasReviewNotes(x) && x.HasNotesWithText(_schemaManager, _filter.Text)) ?? false)
            {
                _objectTypes.Items.Add("Trust Boundaries");
            }
            if (_model.GetThreatEvents()?
                .Any(x => _schemaManager.HasReviewNotes(x) && x.HasNotesWithText(_schemaManager, _filter.Text)) ?? false)
            {
                _objectTypes.Items.Add("Threat Events");
            }
            if (_model.GetThreatEventMitigations()?
                .Any(x => _schemaManager.HasReviewNotes(x) && x.HasNotesWithText(_schemaManager, _filter.Text)) ?? false)
            {
                _objectTypes.Items.Add("Threat Event Mitigations");
            }
            if (_model.ThreatTypes?
                .Any(x => _schemaManager.HasReviewNotes(x) && x.HasNotesWithText(_schemaManager, _filter.Text)) ?? false)
            {
                _objectTypes.Items.Add("Threat Types");
            }
            if (_model.Mitigations?
                .Any(x => _schemaManager.HasReviewNotes(x) && x.HasNotesWithText(_schemaManager, _filter.Text)) ?? false)
            {
                _objectTypes.Items.Add("Known Mitigations");
            }
            if (_model.GetThreatTypeMitigations()?
                .Any(x => _schemaManager.HasReviewNotes(x) && x.HasNotesWithText(_schemaManager, _filter.Text)) ?? false)
            {
                _objectTypes.Items.Add("Standard Mitigations");
            }
            if (_model.EntityTemplates?
                .Any(x => _schemaManager.HasReviewNotes(x) && x.HasNotesWithText(_schemaManager, _filter.Text)) ?? false)
            {
                _objectTypes.Items.Add("Entity Templates");
            }
            if (_model.FlowTemplates?
                .Any(x => _schemaManager.HasReviewNotes(x) && x.HasNotesWithText(_schemaManager, _filter.Text)) ?? false)
            {
                _objectTypes.Items.Add("Flow Templates");
            }
            if (_model.TrustBoundaryTemplates?
                .Any(x => _schemaManager.HasReviewNotes(x) && x.HasNotesWithText(_schemaManager, _filter.Text)) ?? false)
            {
                _objectTypes.Items.Add("Trust Boundary Templates");
            }
            if (_model.Diagrams?
                .Any(x => _schemaManager.HasReviewNotes(x) && x.HasNotesWithText(_schemaManager, _filter.Text)) ?? false)
            {
                _objectTypes.Items.Add("Diagrams");
            }

            _objects.Items.Clear();
            _properties.Item = null;
            RemoveButtons();
            _annotation.Annotation = null;
        }