public override Task <ApiResult <GPSTruckRecordSelectDto> > Create(GPSTruckRecordDto dto, CancellationToken cancellationToken)
        {
            // Get GPS Location By Latitude and Longitude start
            CountryReverseGeocodeService _service = new CountryReverseGeocodeService();
            GeoLocation location = new GeoLocation {
                Latitude = dto.Latitude, Longitude = dto.Longitude
            };
            //GeoLocation location = new GeoLocation { Latitude = 50.064546, Longitude = 40.587502 };

            var info = _service.FindCountry(location);

            if (info != null)
            {
                dto.CountryName = info.Name;
            }
            else
            {
                dto.CountryName = "Germany";
            }


            // Get GPS Location By Latitude and Longitude End here
            double distanceInKm = 0.00, previousLatitude = 32.9697, previousLongitude = -96.80322;
            Guid   PreviousRecordsID = Guid.NewGuid();

            // Select top 1 ID, Latitude, Longitude from GPSTruckRecords Where ProcessStatus=0 and GPSDeviceID=@GPSDeviceID and Cast(varhcar,RecordDate,101)=@Today
            // if record  found
            {
                // Set previousLatitude= tableValuedLatitude, previousLongitude=tableValuedLongitude, PreviousRecordsID=tableValuedID
                GPSCoordinateToDistanceConverter gPSCoordinateToDistanceConverter = new GPSCoordinateToDistanceConverter();
                distanceInKm = gPSCoordinateToDistanceConverter.distance(previousLatitude, previousLongitude, dto.Latitude, dto.Longitude, 'K');
                // distanceInKm = gPSCoordinateToDistanceConverter.distance(32.9697, -96.80322, 29.46786, -98.53506, 'K');

                //Immediately Update the previous  records
                // Update GPSTruckRecords set   ProcessStatus=1 where ID=PreviousRecordsID
            }

            dto.Kilometer = distanceInKm;


            return(base.Create(dto, cancellationToken));
        }
 public override Task <ApiResult <GPSTruckRecordSelectDto> > Update(Guid id, GPSTruckRecordDto dto, CancellationToken cancellationToken)
 {
     return(base.Update(id, dto, cancellationToken));
 }