diff --git a/src/BreCalClient/MainWindow.xaml.cs b/src/BreCalClient/MainWindow.xaml.cs index e5f21ea..08736fc 100644 --- a/src/BreCalClient/MainWindow.xaml.cs +++ b/src/BreCalClient/MainWindow.xaml.cs @@ -46,7 +46,7 @@ namespace BreCalClient private bool _refreshImmediately = false; private bool? _showCanceled = null; - private SortOrder? _sortOrder; + private SortOrder _sortOrder = SortOrder.ETA_ETD; private int searchPastDays = 0; // private bool _filterChanged = false; @@ -90,6 +90,7 @@ namespace BreCalClient Process.Start("explorer", Properties.Settings.Default.LOGO_IMAGE_URL); }; this.comboBoxSortOrder.ItemsSource = Enum.GetValues(typeof(Extensions.SortOrder)); + this.comboBoxSortOrder.SelectedIndex = (int)_sortOrder; } private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) @@ -511,31 +512,28 @@ namespace BreCalClient { _ = this._visibleControlModels.RemoveAll(x => x.Shipcall?.Canceled ?? false); } - - if (this._sortOrder != null) - { - switch(this._sortOrder) - { - case Extensions.SortOrder.SHIP_NAME: - this._visibleControlModels.Sort((x, y) => { if (x.Ship == null) return 0; if (y.Ship == null) return 0; return x.Ship.Name.CompareTo(y.Ship.Name); }); - break; - case Extensions.SortOrder.MODIFIED: - this._visibleControlModels.Sort((x, y) => { if (x.Shipcall == null) return 0; if (y.Shipcall == null) return 0; return DateTime.Compare(x.Shipcall.Modified ?? x.Shipcall.Created, y.Shipcall.Modified ?? x.Shipcall.Created); }); - break; - case Extensions.SortOrder.ETA_ETD: - this._visibleControlModels.Sort((x, y) => - { - if (x.Shipcall == null) return 0; - if (y.Shipcall == null) return 0; - DateTime xDate = (x.Shipcall.Type == (int) Extensions.TypeEnum.Incoming) ? x.Shipcall.Eta ?? DateTime.Now : x.Shipcall.Etd ?? DateTime.Now; - DateTime yDate = (y.Shipcall.Type == (int) Extensions.TypeEnum.Incoming) ? y.Shipcall.Eta ?? DateTime.Now : y.Shipcall.Etd ?? DateTime.Now; - return DateTime.Compare(xDate, yDate); - }); - break; - default: - break; - } - } + + switch(this._sortOrder) + { + case Extensions.SortOrder.SHIP_NAME: + this._visibleControlModels.Sort((x, y) => { if (x.Ship == null) return 0; if (y.Ship == null) return 0; return x.Ship.Name.CompareTo(y.Ship.Name); }); + break; + case Extensions.SortOrder.MODIFIED: + this._visibleControlModels.Sort((x, y) => { if (x.Shipcall == null) return 0; if (y.Shipcall == null) return 0; return DateTime.Compare(x.Shipcall.Modified ?? x.Shipcall.Created, y.Shipcall.Modified ?? x.Shipcall.Created); }); + break; + case Extensions.SortOrder.ETA_ETD: + this._visibleControlModels.Sort((x, y) => + { + if (x.Shipcall == null) return 0; + if (y.Shipcall == null) return 0; + DateTime xDate = (x.Shipcall.Type == (int) Extensions.TypeEnum.Incoming) ? x.Shipcall.Eta ?? DateTime.Now : x.Shipcall.Etd ?? DateTime.Now; + DateTime yDate = (y.Shipcall.Type == (int) Extensions.TypeEnum.Incoming) ? y.Shipcall.Eta ?? DateTime.Now : y.Shipcall.Etd ?? DateTime.Now; + return DateTime.Compare(xDate, yDate); + }); + break; + default: + break; + } }