diff --git a/ClosedXML/Excel/AutoFilters/IXLAutoFilter.cs b/ClosedXML/Excel/AutoFilters/IXLAutoFilter.cs index 7b7f64d..32cc570 100644 --- a/ClosedXML/Excel/AutoFilters/IXLAutoFilter.cs +++ b/ClosedXML/Excel/AutoFilters/IXLAutoFilter.cs @@ -1,17 +1,26 @@ // Keep this file CodeMaid organised and cleaned using System; +using System.Collections.Generic; namespace ClosedXML.Excel { - using System.Collections.Generic; + public enum XLFilterDynamicType { AboveAverage, BelowAverage } + + public enum XLFilterType { Regular, Custom, TopBottom, Dynamic, DateTimeGrouping } + + public enum XLTopBottomPart { Top, Bottom } public interface IXLAutoFilter { + Boolean Enabled { get; set; } + IXLRange Range { get; set; } Int32 SortColumn { get; set; } Boolean Sorted { get; set; } XLSortOrder SortOrder { get; set; } IEnumerable VisibleRows { get; } + IXLAutoFilter Clear(); + IXLFilterColumn Column(String column); IXLFilterColumn Column(Int32 column); diff --git a/ClosedXML/Excel/AutoFilters/IXLBaseAutoFilter.cs b/ClosedXML/Excel/AutoFilters/IXLBaseAutoFilter.cs deleted file mode 100644 index a9a292e..0000000 --- a/ClosedXML/Excel/AutoFilters/IXLBaseAutoFilter.cs +++ /dev/null @@ -1,32 +0,0 @@ -// Keep this file CodeMaid organised and cleaned -using System; -using System.Collections.Generic; - -namespace ClosedXML.Excel -{ - public enum XLFilterDynamicType { AboveAverage, BelowAverage } - - public enum XLFilterType { Regular, Custom, TopBottom, Dynamic, DateTimeGrouping } - - public enum XLTopBottomPart { Top, Bottom } - - public interface IXLBaseAutoFilter - { - Boolean Enabled { get; set; } - IXLRange Range { get; set; } - Int32 SortColumn { get; set; } - Boolean Sorted { get; set; } - XLSortOrder SortOrder { get; set; } - IEnumerable VisibleRows { get; } - - IXLBaseAutoFilter Clear(); - - IXLFilterColumn Column(String column); - - IXLFilterColumn Column(Int32 column); - - IXLBaseAutoFilter Set(IXLRangeBase range); - - IXLBaseAutoFilter Sort(Int32 columnToSortBy, XLSortOrder sortOrder = XLSortOrder.Ascending, Boolean matchCase = false, Boolean ignoreBlanks = true); - } -} diff --git a/ClosedXML/Excel/AutoFilters/XLAutoFilter.cs b/ClosedXML/Excel/AutoFilters/XLAutoFilter.cs index a1077e7..51bca0c 100644 --- a/ClosedXML/Excel/AutoFilters/XLAutoFilter.cs +++ b/ClosedXML/Excel/AutoFilters/XLAutoFilter.cs @@ -6,7 +6,7 @@ { using System.Collections.Generic; - internal class XLAutoFilter : IXLBaseAutoFilter, IXLAutoFilter + internal class XLAutoFilter : IXLAutoFilter { private readonly Dictionary _columns = new Dictionary(); @@ -19,26 +19,14 @@ #region IXLAutoFilter Members - IXLAutoFilter IXLAutoFilter.Sort(Int32 columnToSortBy, XLSortOrder sortOrder, Boolean matchCase, - Boolean ignoreBlanks) - { - return Sort(columnToSortBy, sortOrder, matchCase, ignoreBlanks); - } - - #endregion IXLAutoFilter Members - - #region IXLBaseAutoFilter Members - public Boolean Enabled { get; set; } public IXLRange Range { get; set; } - public Int32 SortColumn { get; set; } - public Boolean Sorted { get; set; } - public XLSortOrder SortOrder { get; set; } + public IEnumerable VisibleRows { get => Range.Rows(r => !r.WorksheetRow().IsHidden); } - IXLBaseAutoFilter IXLBaseAutoFilter.Clear() + IXLAutoFilter IXLAutoFilter.Clear() { return Clear(); } @@ -66,26 +54,13 @@ return filterColumn; } - IXLBaseAutoFilter IXLBaseAutoFilter.Set(IXLRangeBase range) - { - return Set(range); - } - - IXLBaseAutoFilter IXLBaseAutoFilter.Sort(Int32 columnToSortBy, XLSortOrder sortOrder, Boolean matchCase, - Boolean ignoreBlanks) + IXLAutoFilter IXLAutoFilter.Sort(Int32 columnToSortBy, XLSortOrder sortOrder, Boolean matchCase, + Boolean ignoreBlanks) { return Sort(columnToSortBy, sortOrder, matchCase, ignoreBlanks); } - #endregion IXLBaseAutoFilter Members - - public IEnumerable VisibleRows - { - get - { - return Range.Rows(r => !r.WorksheetRow().IsHidden); - } - } + #endregion IXLAutoFilter Members public XLAutoFilter Clear() { diff --git a/ClosedXML/Excel/IXLWorksheet.cs b/ClosedXML/Excel/IXLWorksheet.cs index dbad83a..e561706 100644 --- a/ClosedXML/Excel/IXLWorksheet.cs +++ b/ClosedXML/Excel/IXLWorksheet.cs @@ -412,7 +412,7 @@ IXLWorksheet SetRightToLeft(); IXLWorksheet SetRightToLeft(Boolean value); - IXLBaseAutoFilter AutoFilter { get; } + IXLAutoFilter AutoFilter { get; } IXLRows RowsUsed(Boolean includeFormats = false, Func predicate = null); diff --git a/ClosedXML/Excel/Tables/IXLTable.cs b/ClosedXML/Excel/Tables/IXLTable.cs index 1b47e86..a680486 100644 --- a/ClosedXML/Excel/Tables/IXLTable.cs +++ b/ClosedXML/Excel/Tables/IXLTable.cs @@ -6,7 +6,7 @@ { public interface IXLTable : IXLRange { - IXLBaseAutoFilter AutoFilter { get; } + IXLAutoFilter AutoFilter { get; } IXLTableRange DataRange { get; } Boolean EmphasizeFirstColumn { get; set; } Boolean EmphasizeLastColumn { get; set; } @@ -86,7 +86,7 @@ /// IXLTable Resize(int firstCellRow, int firstCellColumn, int lastCellRow, int lastCellColumn); - new IXLBaseAutoFilter SetAutoFilter(); + new IXLAutoFilter SetAutoFilter(); IXLTable SetEmphasizeFirstColumn(); diff --git a/ClosedXML/Excel/Tables/XLTable.cs b/ClosedXML/Excel/Tables/XLTable.cs index b75900d..3d82240 100644 --- a/ClosedXML/Excel/Tables/XLTable.cs +++ b/ClosedXML/Excel/Tables/XLTable.cs @@ -176,7 +176,7 @@ } } - public new IXLBaseAutoFilter SetAutoFilter() + public new IXLAutoFilter SetAutoFilter() { return AutoFilter; } @@ -526,7 +526,7 @@ return this; } - IXLBaseAutoFilter IXLTable.AutoFilter + IXLAutoFilter IXLTable.AutoFilter { get { return AutoFilter; } } diff --git a/ClosedXML/Excel/XLWorkbook_Load.cs b/ClosedXML/Excel/XLWorkbook_Load.cs index d4e55ae..91a818c 100644 --- a/ClosedXML/Excel/XLWorkbook_Load.cs +++ b/ClosedXML/Excel/XLWorkbook_Load.cs @@ -2158,7 +2158,7 @@ } } - private static void LoadAutoFilterSort(AutoFilter af, XLWorksheet ws, IXLBaseAutoFilter autoFilter) + private static void LoadAutoFilterSort(AutoFilter af, XLWorksheet ws, IXLAutoFilter autoFilter) { var sort = af.Elements().FirstOrDefault(); if (sort != null) diff --git a/ClosedXML/Excel/XLWorksheet.cs b/ClosedXML/Excel/XLWorksheet.cs index 01c1007..84dce86 100644 --- a/ClosedXML/Excel/XLWorksheet.cs +++ b/ClosedXML/Excel/XLWorksheet.cs @@ -870,7 +870,7 @@ return retVal; } - IXLBaseAutoFilter IXLWorksheet.AutoFilter + IXLAutoFilter IXLWorksheet.AutoFilter { get { return AutoFilter; } }