ok sorter pagina oridini

This commit is contained in:
zaccaria.majid
2023-05-10 12:29:17 +02:00
parent b771e3dc65
commit 8a7be62f1b
2 changed files with 41 additions and 19 deletions
@@ -8,8 +8,8 @@ else
<thead>
<tr class="">
<td></td>
<th @onclick="()=>orderByDate()">Order Date</th>
<th @onclick="()=>orderByCode()">Order Number</th>
<th>Order Date <Sorter ParamName="OrderDate" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
<th>Order Number <Sorter ParamName="OrderNumber" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
<th>Order Description</th>
<th class="text-end">Doors Number</th>
<th class="text-end">Model Number</th>
@@ -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<int> 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;
}