public static IEnumerable <RealEstate> GetList(RealEstateFilter filter = null) { using (AgencyDbEntities context = new AgencyDbEntities()) { if (filter == null) { return(context.RealEstate.ToList()); } IQueryable <RealEstate> realtyQuery = context.RealEstate; if (filter.RealEstateType.HasValue) { realtyQuery = realtyQuery.Where(x => x.Discriminator == filter.RealEstateType.ToString()); } if (!string.IsNullOrWhiteSpace(filter.Address)) { return(realtyQuery.ToArray().Where(x => LevenshteinHelper.LevenshteinDistance($"{x.City} {x.Street} {x.HouseNumber} {x.FlatNumber}", filter.Address) <= LevenshteinHelper.ApplicationLevenshteinDistance || LevenshteinHelper.LevenshteinDistance(x.City + " " + x.Street, filter.Address) <= LevenshteinHelper.ApplicationLevenshteinDistance || LevenshteinHelper.LevenshteinDistance(x.HouseNumber + " " + x.FlatNumber, filter.Address) <= LevenshteinHelper.ApplicationLevenshteinMinDistance)); } return(realtyQuery.ToList()); } }
public HttpResponseMessage GetStreet(int ZoneID, int StreetID, [FromUri] RealEstateFilter Filter) { return null; }