public static StandardGradingGridViewData Create(GradingPeriod gradingPeriod, IList <GradingStandardInfo> gradingStandardInfos, IList <Student> students) { var res = new StandardGradingGridViewData { GradingPeriod = GradingPeriodViewData.Create(gradingPeriod), Students = students.Select(x => GradeStudentViewData.Create(x, x.IsWithdrawn)).ToList() }; gradingStandardInfos = gradingStandardInfos.Where(x => students.Any(y => y.Id == x.StudentId) && gradingPeriod.Id == x.GradingPeriodId).ToList(); res.GradingItems = StandardGradingViewData.Create(gradingStandardInfos, res.Students.Select(x => x.StudentInfo.Id).ToList()); if (res.GradingItems.Count > 0) { res.Avg = (int?)res.GradingItems.Average(x => x.NumericAvg); } return(res); }
public static StandardGradingGridsViewData Create(IList <GradingPeriod> gradingPeriods, StandardGradingGridViewData standardGradingGrid) { return(new StandardGradingGridsViewData { GradingPeriods = gradingPeriods.Select(GradingPeriodViewData.Create).ToList(), CurrentStandardGradingGrid = standardGradingGrid }); }