sortBy #1814
Some checks failed
release-dev / release-dev (push) Failing after 12s

This commit is contained in:
harid 2025-10-06 15:12:40 +07:00
parent 946721ffb2
commit 5efb1c99c6
8 changed files with 398 additions and 23 deletions

View file

@ -136,7 +136,49 @@ namespace BMA.EHR.Leave.Service.Controllers
if (req.Keyword != "")
result = result.Where(x => x.FullName!.Contains(req.Keyword)).ToList();
if (!string.IsNullOrWhiteSpace(req.sortBy))
{
switch (req.sortBy.ToUpper())
{
case "FULLNAME":
if (req.descending == true)
result = result.OrderByDescending(x => x.Prefix)
.ThenByDescending(x => x.FirstName)
.ThenByDescending(x => x.LastName)
.ToList();
else
result = result.OrderBy(x => x.Prefix)
.ThenBy(x => x.FirstName)
.ThenBy(x => x.LastName)
.ToList();
break;
case "LEAVETYPE":
if (req.descending == true)
result = result.OrderByDescending(x => x.LeaveType).ToList();
else
result = result.OrderBy(x => x.LeaveType).ToList();
break;
case "LEAVEYEAR":
if (req.descending == true)
result = result.OrderByDescending(x => x.LeaveYear).ToList();
else
result = result.OrderBy(x => x.LeaveYear).ToList();
break;
case "LEAVEDAYS":
if (req.descending == true)
result = result.OrderByDescending(x => x.LeaveDays).ToList();
else
result = result.OrderBy(x => x.LeaveDays).ToList();
break;
case "LEAVEDAYSUSED":
if (req.descending == true)
result = result.OrderByDescending(x => x.LeaveDaysUsed).ToList();
else
result = result.OrderBy(x => x.LeaveDaysUsed).ToList();
break;
default: break;
}
}
var pageResult = result.Skip((req.Page - 1) * req.PageSize).Take(req.PageSize).ToList();
return Success(new { data = pageResult, total = result.Count });