public ParentCourseGradesModel Build(List <Data.Entities.Student> students, Data.Entities.Session session, Data.Entities.ParentCourse parentCourse)
        {
            var findParentCourseModel = _sectionToFindParentCourseModelMapper.Build(session, t =>
            {
                t.ParentCourse   = parentCourse.ParentCourseCode + " - " + parentCourse.ParentCourseTitle;
                t.ParentCourseId = parentCourse.Id;
            });

            var grades = students.SelectMany(s => s.ParentCourseGrades);

            var parentGradesModelList = grades.Select(g => _parentCourseGradeToGradeModelMapper.Build(g)).ToList();
            var studentsInParentCourseWithoutGrades = students.Where(s => s.ParentCourseGrades.IsNullOrEmpty()).ToList();

            parentGradesModelList = parentGradesModelList.Concat(studentsInParentCourseWithoutGrades.Select(s => _studentToGradeModelMapper.Build(s))).ToList();


            var parentCourseGradesModel = new ParentCourseGradesModel();

            parentCourseGradesModel.FindParentCourseModel = findParentCourseModel;
            parentCourseGradesModel.ParentGradesModelList = parentGradesModelList.ToList();

            return(parentCourseGradesModel);
        }
示例#2
0
        public static CreateModel CreateNewWith(List <ClassPeriodListItemModel> classPeriods, List <LocationListItemModel> classRoomModels, Data.Entities.Session session)
        {
            var createModel = new CreateModel
            {
                Periods    = classPeriods,
                Classrooms = classRoomModels,
            };

            if (session != null)
            {
                createModel.SessionId = session.SessionIdentity;
                createModel.Session   = session.SessionName;
            }

            return(createModel);
        }