예제 #1
0
        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();
        }
예제 #2
0
 public MedicalProvider[] GetProvidersByDimensionCollection(SearchCriteria[] criteria)
 {
     var query = BuildQuery(criteria);
     var temp = query.OrderBy(p => p.LastName).Take(25).ToArray();
     return temp;
 }