private void FalsePositivesList_Load(object sender, EventArgs e) { var propertyType = new QualityPropertySchemaManager(_model).GetFalsePositivePropertyType(); var analyzers = QualityAnalyzersManager.QualityAnalyzers? .Where(x => HasFalsePositives(x, propertyType)) .ToArray(); if (analyzers?.Any() ?? false) { _qualityAnalyzers.Items.AddRange(analyzers); } }
private void _qualityAnalyzers_SelectedIndexChanged(object sender, EventArgs e) { var analyzer = _qualityAnalyzers.SelectedItem as IQualityAnalyzer; _falsePositives.PrimaryGrid.Rows.Clear(); if (analyzer != null) { var propertyType = new QualityPropertySchemaManager(_model).GetFalsePositivePropertyType(); if (propertyType != null) { AddItem(analyzer, _model, propertyType); AddItems(analyzer, _model.Entities, propertyType); AddItems(analyzer, _model.DataFlows, propertyType); AddItems(analyzer, _model.Groups, propertyType); AddItems(analyzer, _model.Diagrams, propertyType); } } }
private void Remove(IEnumerable <GridRow> rows) { var list = rows?.ToArray(); if ((list?.Any() ?? false) && _qualityAnalyzers.SelectedItem is IQualityAnalyzer analyzer) { var schemaManager = new QualityPropertySchemaManager(_model); foreach (var row in list) { if (row.Tag is IPropertiesContainer container) { schemaManager.ResetFalsePositive(container, analyzer); row.GridPanel.Rows.Remove(row); } } StatusChanged = true; } }
private void OnFalsePositiveClicked(Point obj) { if (_selectedRow?.SuperGrid.Parent.Parent is CheckPanel checkPanel && _selectedRow?.Tag is IPropertiesContainer container) { var qualityAnalyzer = checkPanel.QualityAnalyzerName; if (!string.IsNullOrWhiteSpace(qualityAnalyzer)) { using (var dialog = new FalsePositiveReasonDialog(qualityAnalyzer, container)) { if (dialog.ShowDialog(Form.ActiveForm) == DialogResult.OK) { var schemaManager = new QualityPropertySchemaManager(_model); schemaManager.SetFalsePositive(container, checkPanel.Id, dialog.Reason); Analyze(); } } } } }