I have this code which works perfectly but it doesn't seem pretty to me. i want to shorten this code as much as possible. ascending is a boolean & sort is string.
if(ascending)
switch (sort)
{
case "ID":
return lstFiltered.OrderBy(o => o.ID).ToList();
case "Device_Name":
return lstFiltered.OrderBy(o => o.Device_Name).ToList();
case "ErrorType_Name":
return lstFiltered.OrderBy(o => o.ErrorType_Name).ToList();
case "Error_Name":
return lstFiltered.OrderBy(o => o.Error_Name).ToList();
case "WAIT_TIME":
return lstFiltered.OrderBy(o => o.WAIT_TIME).ToList();
default:
return lstFiltered;
}
else
switch (sort)
{
case "ID":
return lstFiltered.OrderByDescending(o => o.ID).ToList();
case "Device_Name":
return lstFiltered.OrderByDescending(o => o.Device_Name).ToList();
case "ErrorType_Name":
return lstFiltered.OrderByDescending(o => o.ErrorType_Name).ToList();
case "Error_Name":
return lstFiltered.OrderByDescending(o => o.Error_Name).ToList();
case "WAIT_TIME":
return lstFiltered.OrderByDescending(o => o.WAIT_TIME).ToList();
default:
return lstFiltered;
}