sort Discipline

This commit is contained in:
Adisak 2025-10-06 16:28:16 +07:00
parent d0599aedea
commit 12c8bc5014
11 changed files with 503 additions and 34 deletions

View file

@ -165,7 +165,7 @@ namespace BMA.EHR.DisciplineDisciplinary.Service.Controllers
.ToList();
}
var data = data_search
var query = data_search
.Select(x => new
{
Id = x.Id,//id ข้อมูลเรื่องสอบสวน
@ -179,11 +179,75 @@ namespace BMA.EHR.DisciplineDisciplinary.Service.Controllers
CreatedAt = x.CreatedAt,//วันที่สร้างเรื่องสอบสวน
DisciplinaryDateStart = x.DisciplinaryDateStart, //วันที่เริ่มการสอบสวน
DisciplinaryDateEnd = x.DisciplinaryDateEnd, //วันที่สิ้นสุดการสอบสวน
})
.OrderByDescending(x => x.DisciplinaryDateStart)
});
bool desc = req.descending ?? false;
if (!string.IsNullOrEmpty(req.sortBy))
{
switch (req.sortBy)
{
case "title":
query = desc ? query.OrderByDescending(x => x.Title)
: query.OrderBy(x => x.Title);
break;
case "respondentType":
query = desc ? query.OrderByDescending(x => x.RespondentType)
: query.OrderBy(x => x.RespondentType);
break;
case "offenseDetails":
query = desc ? query.OrderByDescending(x => x.OffenseDetails)
: query.OrderBy(x => x.OffenseDetails);
break;
case "disciplinaryFaultLevel":
query = desc ? query.OrderByDescending(x => x.DisciplinaryFaultLevel)
: query.OrderBy(x => x.DisciplinaryFaultLevel);
break;
case "disciplinaryCaseFault":
query = desc ? query.OrderByDescending(x => x.DisciplinaryCaseFault)
: query.OrderBy(x => x.DisciplinaryCaseFault);
break;
case "status":
query = desc ? query.OrderByDescending(x => x.Status)
: query.OrderBy(x => x.Status);
break;
case "dateReceived":
query = desc ? query.OrderByDescending(x => x.DateReceived)
: query.OrderBy(x => x.DateReceived);
break;
case "createdAt":
query = desc ? query.OrderByDescending(x => x.CreatedAt)
: query.OrderBy(x => x.CreatedAt);
break;
case "disciplinaryDateStart":
query = desc ? query.OrderByDescending(x => x.DisciplinaryDateStart)
: query.OrderBy(x => x.DisciplinaryDateStart);
break;
case "disciplinaryDateEnd":
query = desc ? query.OrderByDescending(x => x.DisciplinaryDateEnd)
: query.OrderBy(x => x.DisciplinaryDateEnd);
break;
default:
query = query.OrderByDescending(x => x.DisciplinaryDateStart);
break;
}
}
var data = query
.Skip((page - 1) * pageSize)
.Take(pageSize)
.ToList();
return Success(new { data, total = data_search.Count() });
}