/// <summary> /// Returns a list of SelectListItems representing the active Medical Practitioners /// </summary> /// <returns></returns> public async Task <AppointmentBookResults> GetMedicalPractitionerSelectList() { // Load the associated user account and ensure it is active and is for a Medical Practitioner var medicalPractitioners = await _userDal.FilterAsync(x => x.JobDescription.Role == UserRole.MedicalPractitioner); var medicalPractitionerSelectList = medicalPractitioners.Select(x => new SelectListItem(FormatMedicalPractitionerName(x.EmployeeDetails.Lastname, x.EmployeeDetails.Firstname, x.EmployeeDetails.Title, x.JobDescription.Description), x.Id.ToString())).OrderBy(x => x.Text).ToList(); return(new AppointmentBookResults() { ResultCode = ServiceResultStatusCode.Success, SelectList = medicalPractitionerSelectList }); }