public async Task <StateRecordSlimDTO> GetRecentAsync(StateRecordRequestDTO request) { IEnumerable <StateRecord> records; if (request.TeamMemberId == default) { records = await stateRecords.GetForTrainingMostRecentAsync(request.TrainingId, request.TimeInSeconds); } else { records = await stateRecords.GetForTrainingAndUserMostRecentAsync( request.TrainingId, request.TimeInSeconds, request.TeamMemberId.Value); } return(new StateRecordSlimDTO { TrainingId = request.TrainingId, StateRecords = records.Select(rec => new StateRecordSlimDTO.StateRecord { CreateTime = rec.CreateTime, TeamMemberId = rec.TeamMemberId, HeartRate = rec.HeartRate, Temperature = rec.Temperature }) }); }
public async Task <IActionResult> GetRecordsForTrainingMostRecentAsync(int trainingId, int timeInSecs, int?userId) { await ValidateAccessToTraining(trainingId); var serviceRequest = new StateRecordRequestDTO { TeamMemberId = userId, TrainingId = trainingId, TimeInSeconds = timeInSecs }; var serviceResponse = await stateRecordService.GetRecentAsync(serviceRequest); return(new JsonResult(new { TrainingId = serviceResponse.TrainingId, Records = serviceResponse.StateRecords.Select(rec => new { rec.TeamMemberId, rec.CreateTime, rec.HeartRate, rec.Temperature }) })); }