public async Task <KeyValuePair <bool, List <Mark> > > GetFinalPrediction(string groupCourseId) { var result = await Task.Run <bool>(() => PythonRunner.Run(OperationNames.PredictForFinal, groupCourseId)); if (!result) { return(new KeyValuePair <bool, List <Mark> >(false, null)); } var final = (await lessonRepository.GetByGroupCourse(groupCourseId)).FirstOrDefault(l => l.LessonType == LessonType.Final); var predictedFinalMarks = await markRepository.GetPredictedMarksByLesson(final.Id, (int)final.LessonType); return(new KeyValuePair <bool, List <Mark> >(true, predictedFinalMarks)); }