diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 2b532ede4..3eb6fc091 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -2804,15 +2804,12 @@ namespace IRaCIS.Application.Services } var taskList = subjectTaskList.FirstOrDefault()!.UnReadCanReadTaskList; - var count = taskList.Count(); - Random random = new Random(); - var skipcount = 0; - if (count >= 2) - { - skipcount = random.Next(0, count - 1); - } - var visitTaskId = taskList.Skip(skipcount).FirstOrDefault(); + Random random = new Random(); + //返回的范围是 0- taskList.Count-1 + int randomIndex = random.Next(taskList.Count); + + var visitTaskId = taskList[randomIndex].Id; task = await _visitTaskRepository.Where(x=>x.Id== visitTaskId).Select(x => new GetReadingTaskDto() { @@ -2825,7 +2822,7 @@ namespace IRaCIS.Application.Services SubjectId = x.SubjectId, SubjectCode = x.Subject.Code, TrialReadingCriterionId = x.TrialReadingCriterionId, - }).FirstOrDefault(); + }).FirstOrDefaultAsync(); } else