public static IEnumerable <string> Parse(IEnumerable <CustomerGEOItem> items)
        {
            var geoLocator = new GeoLocator();

            var customers = items.GroupBy(x => x.customerid);
            var inserts   = customers.Select(g =>
            {
                var customer        = g.First();
                var customerAddress = geoLocator.GetCoordinatesAsync(customer.address, customer.city, customer.state, customer.postalcode, customer.country).Result;
                var employeeAddress = geoLocator.GetCoordinatesAsync(customer.employeeaddress, customer.employeecity,
                                                                     customer.employeestate, customer.employeepostal, customer.employeecountry).Result;

                var template = $@"UPDATE CUSTOMER SET LOCATION = {BingAddresToSDO_POINT_TYPE(customerAddress)},
                                  ROADTOEMPLOYEE = {BingPointsToLine(customerAddress, employeeAddress)}, X = {customerAddress.Coordinates.Longitude.ToDotted()}, Y = {customerAddress.Coordinates.Latitude.ToDotted()}
                                  WHERE CUSTOMERID = {g.Key};";
                return(template);
            });

            inserts = inserts.Append("commit; \r\n").Append("exit;");
            inserts = inserts.Prepend("SET SQLBLANKLINES ON;");
            return(inserts);
        }
        public static IEnumerable <string> Parse(IEnumerable <EmployeeGEOItem> items)
        {
            var geoLocator = new GeoLocator();

            var inserts = items.Select(x =>
            {
                var employeeAddress = geoLocator.GetCoordinatesAsync(x.address, x.city, x.state, x.postalcode, x.country).Result;

                //var template = @$"UPDATE EMPLOYEE SET WORKINGAREA = {BingPointToCircle(employeeAddress, RADIUS)},
                //                    X = {employeeAddress.Coordinates.Longitude.ToDotted()},
                //                    Y = {employeeAddress.Coordinates.Latitude.ToDotted()},
                //                    radius = {RADIUS}
                //                  WHERE EMPLOYEEID = {x.employeeid};";

                var xx = employeeAddress.Coordinates.Longitude;
                var y  = employeeAddress.Coordinates.Latitude;


                var template = $@"UPDATE EMPLOYEE SET WORKINGAREA = SDO_GEOMETRY(
                    2003,
                    NULL,
                    NULL,
                    SDO_ELEM_INFO_ARRAY(1,1003,4),
                    SDO_ORDINATE_ARRAY({xx-RADIUS},{y},{xx},{y+RADIUS},{xx+RADIUS},{y})
                  ),
                    X = {employeeAddress.Coordinates.Longitude.ToDotted()},
                    Y = {employeeAddress.Coordinates.Latitude.ToDotted()},
                    radius = {RADIUS}
                  WHERE EMPLOYEEID = {x.employeeid};";
                return(template);
            });

            inserts = inserts.Append("commit; \r\n").Append("exit;");
            inserts = inserts.Prepend("SET SQLBLANKLINES ON;");
            return(inserts);
        }