public TrainMovementLink GetTrainMovementById(string trainId)
{
const string sql = @"
SELECT TOP 1
[LiveTrain].[OriginDepartTimestamp]
,[ScheduleTrain].[TrainUid]
FROM [LiveTrain]
INNER JOIN [ScheduleTrain] ON [LiveTrain].[ScheduleTrain] = [ScheduleTrain].[ScheduleId]
INNER JOIN [Tiploc] ON [ScheduleTrain].[OriginStopTiplocId] = [Tiploc].[TiplocId]
WHERE [LiveTrain].[TrainId] = @trainId
ORDER BY [LiveTrain].[OriginDepartTimestamp] DESC"; // get latest occurance
using (DbConnection dbConnection = CreateAndOpenConnection())
{
TrainMovementLink tm = dbConnection.Query<TrainMovementLink>(sql, new
{
trainId
}).FirstOrDefault();
return tm;
}
}