private bool removeDuplicateSummaries() { bool modified = false; for (int k = SummaryFields.Count - 1; k >= 0; k--) { if (Enumerable.Range(0, k).Any(s => SummaryFunctions[s] == SummaryFunctions[k] && SummaryFields[s] == SummaryFields[k])) { SummaryFields.RemoveAt(k); SummaryFunctions.RemoveAt(k); SummarySort.RemoveAt(k); modified = true; } } return(modified); }
public bool EnsureDefaults() { bool modified = false; modified |= ensureNonEmpty(SeriesFields, SeriesFieldsSort, string.Empty); modified |= ensureNonEmpty(ColumnFields, ColumnFieldsSort, string.Empty); modified |= ensureNonEmpty(SummaryFields, SummarySort, string.Empty); bool addDefaultSummaryFunction = SummaryFunctions.Count == 0; modified |= addDefaultSummaryFunction; if (addDefaultSummaryFunction) { SummaryFunctions.AddRange(Enumerable.Repeat(Aggregates.Count, SummaryFields.Count)); } modified |= removeDuplicateSummaries(); return(modified); }