private static CourseStudentsStatistic GetCourseStatistics(Course course) { var statistics = new CourseStudentsStatistic { CourseId = course.Id, MinimumStudentAge = course.Students.Min(x => x?.Age), MaximumStudentAge = course.Students.Max(x => x?.Age), AverageStudentAge = (int?)course.Students.Average(x => x?.Age) }; return(statistics); }
public async Task Upsert(CourseStudentsStatistic courseStudentsStatistic) { var statistics = _context.CourseStudentsStatistics.FirstOrDefault(x => x.CourseId == courseStudentsStatistic.CourseId); if (statistics != null) { statistics.MinimumStudentAge = courseStudentsStatistic.MinimumStudentAge; statistics.MaximumStudentAge = courseStudentsStatistic.MaximumStudentAge; statistics.AverageStudentAge = courseStudentsStatistic.AverageStudentAge; _context.Update(statistics); } else { _context.Add(courseStudentsStatistic); } await _context.SaveChangesAsync(); }