/// <summary> /// /// </summary> /// <param name="this"></param> /// <param name="lat1"></param> /// <param name="lon1"></param> /// <param name="mi"></param> /// <returns></returns> public static bool WithinMiles(this JobLocation @this, double?lat1, double?lon1, double mi) { if (lat1 == null || lon1 == null) { return(true); } return(@this.HaversineDistance(lat1, lon1) <= mi); }
/// <summary> /// Use Haversine Distance formula to calculate a distance between two points /// </summary> /// <param name="this"></param> /// <param name="lat1"></param> /// <param name="lon1"></param> /// <returns></returns> public static double HaversineDistance(this JobLocation @this, double?lat1, double?lon1) { var lat2 = @this.Latitude; var lon2 = @this.Longitude; var R = 3960; //miles