public CoordinatesForSearchingAdvertisementsModel GetCoordinatesForSearchingAdvertisements(double lat, double lon, int distanceInKm) { double radius = ((double)distanceInKm) / 2; var model = new CoordinatesForSearchingAdvertisementsModel(); model.LatitudeStart = lat - (radius * DEGRESS_PER_KILOMETER); model.LatitudeEnd = lat + (radius * DEGRESS_PER_KILOMETER); model.LongitudeStart = lon - (radius * DEGRESS_PER_KILOMETER); model.LongitudeEnd = lon + (radius * DEGRESS_PER_KILOMETER); model.UserLatitude = lat; model.UserLongitude = lon; return(model); }
public IQueryable <AdvertisementItem> GetAdvertisementsFromDeclaredAreaSinceLastCheck(DateTime lastCheckDate, string userId, CoordinatesForSearchingAdvertisementsModel coordinatesForSearchModel) { return(GetAdvertisements().Where(a => a.CreationDate >= lastCheckDate && a.UserId != userId && a.Latitude >= coordinatesForSearchModel.LatitudeStart && a.Latitude <= coordinatesForSearchModel.LatitudeEnd && a.Longitude >= coordinatesForSearchModel.LongitudeStart && a.Longitude <= coordinatesForSearchModel.LongitudeEnd)); }