예제 #1
0
        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
                })
            });
        }
예제 #2
0
        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
                })
            }));
        }