public async Task <IActionResult> GetTrackingsInCertainTime(string registrationId, DateTime startTime, DateTime endTime)
        {
            var query  = new GetTrackingsInCertainTimeQuery(registrationId, startTime, endTime);
            var result = await _mediator.Send(query);

            return(result != null ? (IActionResult)Ok(result) : NotFound());
        }
        public async Task <List <TrackingResponse> > Handle(GetTrackingsInCertainTimeQuery request, CancellationToken cancellationToken)
        {
            var trackingInfoList = await _trackingService.GetTrackingInfoHistoryAsync(request.RegistrationId, request.StartTime, request.EndTime);

            if (trackingInfoList == null || !trackingInfoList.Any())
            {
                _logger.LogInformation($"No tracking record found for the RegistrationId: {request.RegistrationId}.");
                return(null);
            }

            var trackingResponseList = trackingInfoList.MapToTrackingResponseList();

            return(trackingResponseList);
        }