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)); }