public string DualRegionQuery(DateTime startDate, DateTime endDate, List<LatLong> regionOnePoints, List<LatLong> regionTwoPoints)
        {
            using (TaxiDataEntities context = new TaxiDataEntities())
            {
                //build both of the polygons to send to the server
                SqlGeography polygon1 = CreatePolygonFromPoints(regionOnePoints);
                SqlGeography polygon2 = CreatePolygonFromPoints(regionTwoPoints);

                List<QueryDto> returnVal = context.TwoRegionQueryPoly(startDate, endDate, polygon1.ToString(), polygon2.ToString())
                                            .Select(x => new QueryDto
                                            {
                                                Pickup = new LatLong
                                                {
                                                    Latitude = (double)x.pickup_latitude,
                                                    Longitude = (double)x.pickup_longitude
                                                },
                                                Dropoff = new LatLong
                                                {
                                                    Latitude = (double)x.dropoff_latitude,
                                                    Longitude = (double)x.dropoff_longitude
                                                },
                                                FareTotal = x.total_amount,
                                                TravelTime = x.trip_time_in_secs,
                                                NumOfPassenger = x.passenger_count,
                                                TripDistance = x.trip_distance
                                            }).ToList();

                return JsonConvert.SerializeObject(returnVal);
            }
        }