DeliveryAdminWindow: Fix delivery ordering
This commit is contained in:
@ -278,15 +278,14 @@ namespace Elwig.Windows {
|
|||||||
}
|
}
|
||||||
if (TodayOnlyInput.IsChecked == true) {
|
if (TodayOnlyInput.IsChecked == true) {
|
||||||
deliveryQuery = deliveryQuery
|
deliveryQuery = deliveryQuery
|
||||||
.Where(d => (d.DateString == Utils.Today.ToString("yyyy-MM-dd") && d.TimeString.CompareTo("03:00:00") > 0) ||
|
.Where(d => (d.DateString == Utils.Today.ToString("yyyy-MM-dd") && (d.TimeString == null || d.TimeString.CompareTo("03:00:00") > 0)) ||
|
||||||
(d.DateString == Utils.Today.AddDays(1).ToString("yyyy-MM-dd") && d.TimeString.CompareTo("03:00:00") <= 0));
|
(d.DateString == Utils.Today.AddDays(1).ToString("yyyy-MM-dd") && (d.TimeString == null || d.TimeString.CompareTo("03:00:00") <= 0)));
|
||||||
filterNames.Add(Utils.Today.ToString("dd.MM.yyyy"));
|
filterNames.Add(Utils.Today.ToString("dd.MM.yyyy"));
|
||||||
} else if (AllSeasonsInput.IsChecked == false) {
|
} else if (AllSeasonsInput.IsChecked == false) {
|
||||||
deliveryQuery = deliveryQuery.Where(d => d.Year == SeasonInput.Value);
|
deliveryQuery = deliveryQuery.Where(d => d.Year == SeasonInput.Value);
|
||||||
filterNames.Add(SeasonInput.Value.ToString() ?? "");
|
filterNames.Add(SeasonInput.Value.ToString() ?? "");
|
||||||
}
|
}
|
||||||
deliveryQuery = deliveryQuery.OrderBy(d => d.DateString).ThenBy(d => d.TimeString);
|
IQueryable<DeliveryPart> dpq = deliveryQuery.SelectMany(d => d.Parts).OrderBy(p => p.Delivery.DateString).ThenBy(p => p.Delivery.TimeString);
|
||||||
IQueryable<DeliveryPart> dpq = deliveryQuery.SelectMany(d => d.Parts);
|
|
||||||
|
|
||||||
// TODO add filter for:
|
// TODO add filter for:
|
||||||
// attributes
|
// attributes
|
||||||
@ -402,8 +401,8 @@ namespace Elwig.Windows {
|
|||||||
if (filterPartDate.Count > 0) dpq = dpq.Where(p => filterPartDate.Contains(p.Delivery.DateString.Substring(4)));
|
if (filterPartDate.Count > 0) dpq = dpq.Where(p => filterPartDate.Contains(p.Delivery.DateString.Substring(4)));
|
||||||
if (filterYearGt > 0) dpq = dpq.Where(p => p.Year >= filterYearGt);
|
if (filterYearGt > 0) dpq = dpq.Where(p => p.Year >= filterYearGt);
|
||||||
if (filterYearLt > 0) dpq = dpq.Where(p => p.Year < filterYearLt);
|
if (filterYearLt > 0) dpq = dpq.Where(p => p.Year < filterYearLt);
|
||||||
if (filterTimeGt != null) dpq = dpq.Where(p => filterTimeGt.CompareTo(p.Delivery.TimeString) <= 0);
|
if (filterTimeGt != null) dpq = dpq.Where(p => p.Delivery.TimeString != null && filterTimeGt.CompareTo(p.Delivery.TimeString) <= 0);
|
||||||
if (filterTimeLt != null) dpq = dpq.Where(p => filterTimeLt.CompareTo(p.Delivery.TimeString) > 0);
|
if (filterTimeLt != null) dpq = dpq.Where(p => p.Delivery.TimeString != null && filterTimeLt.CompareTo(p.Delivery.TimeString) > 0);
|
||||||
if (filterVar.Count > 0) dpq = dpq.Where(p => filterVar.Contains(p.SortId));
|
if (filterVar.Count > 0) dpq = dpq.Where(p => filterVar.Contains(p.SortId));
|
||||||
if (filterQual.Count > 0) dpq = dpq.Where(p => filterQual.Contains(p.QualId));
|
if (filterQual.Count > 0) dpq = dpq.Where(p => filterQual.Contains(p.QualId));
|
||||||
if (filterKmwGt > 0) dpq = dpq.Where(p => p.Kmw >= filterKmwGt);
|
if (filterKmwGt > 0) dpq = dpq.Where(p => p.Kmw >= filterKmwGt);
|
||||||
@ -441,7 +440,7 @@ namespace Elwig.Windows {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return (filterNames, dpq.Select(p => p.Delivery).Distinct(), dpq, filter);
|
return (filterNames, dpq.Select(p => p.Delivery).Distinct().OrderBy(d => d.DateString).ThenBy(d => d.TimeString), dpq, filter);
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task RefreshDeliveryListQuery(bool updateSort = false) {
|
private async Task RefreshDeliveryListQuery(bool updateSort = false) {
|
||||||
@ -1135,8 +1134,8 @@ namespace Elwig.Windows {
|
|||||||
day = day.AddDays(-1);
|
day = day.AddDays(-1);
|
||||||
var lsnrs = await Context.Deliveries
|
var lsnrs = await Context.Deliveries
|
||||||
.Where(d => d.ZwstId == delivery.ZwstId)
|
.Where(d => d.ZwstId == delivery.ZwstId)
|
||||||
.Where(d => (d.DateString == day.ToString("yyyy-MM-dd") && d.TimeString.CompareTo("03:00:00") > 0) ||
|
.Where(d => (d.DateString == day.ToString("yyyy-MM-dd") && (d.TimeString == null || d.TimeString.CompareTo("03:00:00") > 0)) ||
|
||||||
(d.DateString == day.AddDays(1).ToString("yyyy-MM-dd") && d.TimeString.CompareTo("03:00:00") <= 0))
|
(d.DateString == day.AddDays(1).ToString("yyyy-MM-dd") && (d.TimeString == null || d.TimeString.CompareTo("03:00:00") <= 0)))
|
||||||
.Where(d => d.LsNr != delivery.LsNr)
|
.Where(d => d.LsNr != delivery.LsNr)
|
||||||
.OrderBy(d => d.LsNr)
|
.OrderBy(d => d.LsNr)
|
||||||
.Select(d => d.LsNr)
|
.Select(d => d.LsNr)
|
||||||
|
Reference in New Issue
Block a user