private void ToggleColumnSelection(DataColumnViewModel column) { column.SelectionType = GetAvailableSelectionTypeFor(column); if (IsAllRequiredColumnsSelected() == false) { Report = ScatterReportData.Empty; } NotifyColumnsChanged(); }
private SelectionType GetAvailableSelectionTypeFor(DataColumnViewModel viewmodel) { if (viewmodel.IsSelected) { return(SelectionType.NotSelected); } var alreadySelectedTypes = GetSelectedTypes(); Func <SelectionType, bool> notSelectedYet = type => alreadySelectedTypes.Contains(type) == false; return(_requiredSelectionTypes.Where(notSelectedYet) .DefaultIfEmpty(SelectionType.NotSelected) .First()); }