public static double CalculateDistance(Coordinates point1, Coordinates point2)
        {
            double lat1 = point1.Latitude;
            double lon1 = point1.Longitude;

            double lat2 = point2.Latitude;
            double lon2 = point2.Longitude;

            double R = 6371;
            double dLat = (lat2 - lat1).ToRad();
            double dLon = (lon2 - lon1).ToRad();
            double firstLat = lat1.ToRad();
            double secondLat = lat2.ToRad();

            double a = Math.Sin(dLat/2)*Math.Sin(dLat/2) +
                       Math.Sin(dLon/2)*Math.Sin(dLon/2)*Math.Cos(firstLat)*Math.Cos(secondLat);
            double c = 2*Math.Atan2(Math.Sqrt(a), Math.Sqrt(1 - a));

            return R*c;
        }
 public IEnumerable<HelpRequest> GetRequestsNearPoint(Coordinates point, double maxDistance)
 {
     return dbContext.HelpRequests.ToList()
         .Where(r => r.Coordinates != null &&
                     DistanceCalculator.CalculateDistance(point, r.Coordinates) <= maxDistance).ToList();
 }