I need pass parameter to linq query. My query is as follows:
var appointments = (from a in inMemContext.Appointments
join u in inMemContext.Users on a.UserId equals u.UserId into AppointmentAssignments
from aa in AppointmentAssignments.DefaultIfEmpty()
join l in inMemContext.Languages on a.PreferredLanguage equals l.LanguageKey
where a.BranchId == branchId
&& a.AppointmentDate.Date == TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, TimeZoneInfo.FindSystemTimeZoneById(b.TimeZoneId)).Date
orderby a.AppointmentTime
select new AppointmentEntryDetailsDto
{
Id = a.AppointmentId.ToString(),
StartTime = (a.AppointmentTime).ToString("hh:mm tt", CultureInfo.InvariantCulture),
AppointmentType = a.AppointmentType.AppointmentTypeName,
});
In above query I'm taking data ordered by AppointmentTime
. Now I need set dynamic sorted value as ascending or descending.
For this line:
orderby a.AppointmentTime [OrderParameter]
ascending or descending. How can I do this?