private IQueryable<MedicalProvider> BuildQuery(SearchCriteria[] criteria) { var query = ProviderQuery().ToList(); foreach (var search in criteria) { switch (search.Selector) { case "city": query = query.Where(p => p.City == search.Parameter).ToList(); break; case "specialty": query = query.Where(p => p.Specialty == search.Parameter).ToList(); break; case "zipcode": query = query.Where(p => p.ZipCode.ToString() == search.Parameter).ToList(); break; case "facility": query = query.Where(p => p.Facility == search.Parameter).ToList(); break; case "lastName": query = query.Where(p => p.LastName.ToUpper().StartsWith(search.Parameter.ToUpper())).ToList(); break; } } return query.AsQueryable(); }
public MedicalProvider[] GetProvidersByDimensionCollection(SearchCriteria[] criteria) { var query = BuildQuery(criteria); var temp = query.OrderBy(p => p.LastName).Take(25).ToArray(); return temp; }