public async Task <IActionResult> GetVehiclePositions([FromBody] VehiclePositionsDto model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var vehicle = await GetVehicle(model.TrackingId); if (vehicle == null) { return(BadRequest(new ApiResponse { Code = ResponseEnum.InvalidVehicleId.ResponseCode(), Description = ResponseEnum.InvalidVehicleId.DisplayName(), })); } var locations = await _vehicleTrackingService.GetVehicleLocations(vehicle.Id, model.From, model.To); return(Ok(new ApiResponseData { Code = ResponseEnum.ApprovedOrCompletedSuccesfully.ResponseCode(), Description = ResponseEnum.ApprovedOrCompletedSuccesfully.DisplayName(), Data = locations })); }
public async Task HandleAsync(GetVehicleCurrentPositionQuery command, CancellationToken cancellationToken) { var vehiclePosition = _vehiclePositionRepository.Where(x => x.VehicleId == command.VehicleId) .Select(x => new { x.Point, x.RegDateTime }).OrderByDescending(x => x.RegDateTime).FirstOrDefault(); if (vehiclePosition != null) { var result = new VehiclePositionsDto(); result.Date = vehiclePosition.RegDateTime; result.Point = new VehiclePoint(vehiclePosition.Point.X, vehiclePosition.Point.Y, vehiclePosition.Point.Z); result.LocalityName = _mapAPI.GetNearbyPlaceName(result.Point); command.Result = result; new VehiclePoint(vehiclePosition.Point.X, vehiclePosition.Point.Y, vehiclePosition.Point.Z); } }