diff --git a/WebDoorCreator.UI/Components/Order/OrderList.razor b/WebDoorCreator.UI/Components/Order/OrderList.razor index e8e7787..6afc7e5 100644 --- a/WebDoorCreator.UI/Components/Order/OrderList.razor +++ b/WebDoorCreator.UI/Components/Order/OrderList.razor @@ -8,8 +8,8 @@ else - Order Date - Order Number + Order Date + Order Number Order Description Doors Number Model Number diff --git a/WebDoorCreator.UI/Components/Order/OrderList.razor.cs b/WebDoorCreator.UI/Components/Order/OrderList.razor.cs index 19876ec..4368ab5 100644 --- a/WebDoorCreator.UI/Components/Order/OrderList.razor.cs +++ b/WebDoorCreator.UI/Components/Order/OrderList.razor.cs @@ -1,3 +1,4 @@ +using EgwCoreLib.Razor; using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Authorization; using Microsoft.AspNetCore.DataProtection; @@ -29,6 +30,17 @@ namespace WebDoorCreator.UI.Components.Order [Inject] protected WebDoorCreatorService WDService { get; set; } = null!; + private bool sortAsc = true; + + private string sortField = ""; + + protected async Task SortRequested(Sorter.SortCallBack e) + { + sortField = e.ParamName; + sortAsc = e.IsAscending; + await ReloadData(); + } + [Parameter] public EventCallback updateRecordCount { get; set; } @@ -178,22 +190,32 @@ namespace WebDoorCreator.UI.Components.Order { ListOrdersStatus = SearchRecords.Skip(numRecord * (currPage - 1)).Take(numRecord).ToList(); } - - if (orderType == Core.Enum.orderTypeEnum.DateAscending) + if (!string.IsNullOrEmpty(sortField)) { - SearchRecords = SearchRecords.OrderBy(x => x.DateIns).ToList(); - } - else if (orderType == Core.Enum.orderTypeEnum.DateDescending) - { - SearchRecords = SearchRecords.OrderByDescending(x => x.OrderExtCode).ToList(); - } - else if (orderType == Core.Enum.orderTypeEnum.CodeAscending) - { - SearchRecords = SearchRecords.OrderBy(x => x.OrderExtCode).ToList(); - } - else if (orderType == Core.Enum.orderTypeEnum.CodeDescending) - { - SearchRecords = SearchRecords.OrderByDescending(x => x.OrderExtCode).ToList(); + switch (sortField) + { + case "OrderDate": + if (sortAsc) + { + ListOrdersStatus = SearchRecords.OrderBy(x => x.DateIns).ToList(); + } + else + { + ListOrdersStatus = SearchRecords.OrderByDescending(x => x.DateIns).ToList(); + } + break; + default: + case "OrderNumber": + if (sortAsc) + { + ListOrdersStatus = SearchRecords.OrderBy(x => x.OrderExtCode).ToList(); + } + else + { + ListOrdersStatus = SearchRecords.OrderByDescending(x => x.OrderExtCode).ToList(); + } + break; + } } } @@ -259,10 +281,10 @@ namespace WebDoorCreator.UI.Components.Order { string answ = ""; - if(ListValuesAll != null) + if (ListValuesAll != null) { var currOrdStat = ListValuesAll.Where(x => int.Parse(x.Value) == orderStat).FirstOrDefault(); - if(currOrdStat != null) + if (currOrdStat != null) { answ = currOrdStat.Label; }