Skip to content

Commit 3309ff3

Browse files
committed
Simplify method signature.
1 parent 56b9bfa commit 3309ff3

File tree

1 file changed

+53
-42
lines changed

1 file changed

+53
-42
lines changed

Rubberduck.Core/UI/Inspections/InspectionResultsViewModel.cs

Lines changed: 53 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -234,87 +234,98 @@ public bool GroupByLocation
234234
}
235235
}
236236

237-
public bool _filterInspectionsByHint;
237+
private List<CodeInspectionSeverity> _filterCriteria = new List<CodeInspectionSeverity>();
238+
238239
public bool FilterInspectionsByHint
239240
{
240-
get =>_filterInspectionsByHint;
241+
get => _filterCriteria.Contains(CodeInspectionSeverity.Hint);
241242
set
242243
{
243-
if (_filterInspectionsByHint == value) { return; }
244+
if (FilterInspectionsByHint == value) { return; }
245+
246+
if (value)
247+
{
248+
_filterCriteria.Add(CodeInspectionSeverity.Hint);
249+
}
250+
else
251+
{
252+
_filterCriteria.Remove(CodeInspectionSeverity.Hint);
253+
}
244254

245-
FilterResults(filterByHint: value);
255+
FilterResults(_filterCriteria);
246256
OnPropertyChanged();
247257
}
248258
}
249259

250-
private bool _filterInspectionsBySuggestion;
251260
public bool FilterInspectionsBySuggestion
252261
{
253-
get => _filterInspectionsBySuggestion;
262+
get => _filterCriteria.Contains(CodeInspectionSeverity.Suggestion);
254263
set
255264
{
256-
if (_filterInspectionsBySuggestion == value) { return; }
265+
if (FilterInspectionsBySuggestion == value) { return; }
257266

258-
FilterResults(filterBySuggestion: value);
267+
if (value)
268+
{
269+
_filterCriteria.Add(CodeInspectionSeverity.Suggestion);
270+
}
271+
else
272+
{
273+
_filterCriteria.Remove(CodeInspectionSeverity.Suggestion);
274+
}
275+
276+
FilterResults(_filterCriteria);
259277
OnPropertyChanged();
260278
}
261279
}
262280

263-
private bool _filterInspectionsByWarning;
264281
public bool FilterInspectionsByWarning
265282
{
266-
get => _filterInspectionsByWarning;
283+
get => _filterCriteria.Contains(CodeInspectionSeverity.Warning);
267284
set
268285
{
269-
if (_filterInspectionsByWarning == value) { return; }
286+
if (FilterInspectionsByWarning == value) { return; }
287+
288+
if (value)
289+
{
290+
_filterCriteria.Add(CodeInspectionSeverity.Warning);
291+
}
292+
else
293+
{
294+
_filterCriteria.Remove(CodeInspectionSeverity.Warning);
295+
}
270296

271-
FilterResults(filterByWarning: value);
297+
FilterResults(_filterCriteria);
272298
OnPropertyChanged();
273299
}
274300
}
275301

276-
private bool _filterInspectionsByError;
277302
public bool FilterInspectionsByError
278303
{
279-
get => _filterInspectionsByError;
304+
get => _filterCriteria.Contains(CodeInspectionSeverity.Error);
280305
set
281306
{
282-
if (_filterInspectionsByError == value) { return; }
307+
if (FilterInspectionsByError == value) { return; }
283308

284-
FilterResults(filterByError: value);
309+
if (value)
310+
{
311+
_filterCriteria.Add(CodeInspectionSeverity.Error);
312+
}
313+
else
314+
{
315+
_filterCriteria.Remove(CodeInspectionSeverity.Error);
316+
}
317+
318+
FilterResults(_filterCriteria);
285319
OnPropertyChanged();
286320
}
287321
}
288322

289-
public void FilterResults(bool filterByHint = false, bool filterBySuggestion = false, bool filterByWarning = false, bool filterByError = false)
323+
public void FilterResults(IEnumerable<CodeInspectionSeverity> inspections)
290324
{
291-
_filterInspectionsByHint = filterByHint;
292-
_filterInspectionsBySuggestion = filterBySuggestion;
293-
_filterInspectionsByWarning = filterByWarning;
294-
_filterInspectionsByError = filterByError;
295-
296-
if (_filterInspectionsByHint)
297-
{
298-
Results = new ObservableCollection<IInspectionResult>(
299-
_resultsAll.Where(o => o.Inspection.Severity == CodeInspectionSeverity.Hint)
300-
.ToList());
301-
}
302-
else if (_filterInspectionsBySuggestion)
303-
{
304-
Results = new ObservableCollection<IInspectionResult>(
305-
_resultsAll.Where(o => o.Inspection.Severity == CodeInspectionSeverity.Suggestion)
306-
.ToList());
307-
}
308-
else if (_filterInspectionsByWarning)
309-
{
310-
Results = new ObservableCollection<IInspectionResult>(
311-
_resultsAll.Where(o => o.Inspection.Severity == CodeInspectionSeverity.Warning)
312-
.ToList());
313-
}
314-
else if (_filterInspectionsByError)
325+
if (_filterCriteria.Any())
315326
{
316327
Results = new ObservableCollection<IInspectionResult>(
317-
_resultsAll.Where(o => o.Inspection.Severity == CodeInspectionSeverity.Error)
328+
_resultsAll.Where(o => _filterCriteria.Contains(o.Inspection.Severity))
318329
.ToList());
319330
}
320331
else

0 commit comments

Comments
 (0)