protected DisciplineView(ClassDisciplineDetails discipline, int currentPersonId, bool canEdit) { Id = discipline.Id; StudentId = discipline.StudentId; Student = StudentViewData.Create(discipline.Student); DisciplineTypes = DisciplineTypeViewData.Create(discipline.Infractions.ToList()); ClassName = discipline.Class.Name; TeacherId = discipline.Class.PrimaryTeacherRef; Editable = canEdit || currentPersonId == TeacherId; Description = discipline.Description; ClassId = discipline.ClassId; }
public IList <ClassDisciplineDetails> GetClassDisciplineDetails(int classId, DateTime date) { var mp = ServiceLocator.MarkingPeriodService.GetMarkingPeriodByDate(date); if (mp == null) { return(null); } var disciplineRefferals = DisciplineStorage.GetList(classId, date); var options = ServiceLocator.ClassroomOptionService.GetClassOption(classId); if (disciplineRefferals == null) { return(null); } var students = ServiceLocator.StudentService.GetClassStudents(classId, mp.Id , options != null && options.IncludeWithdrawnStudents ? (bool?)null : true); var cClass = ServiceLocator.ClassService.GetClassDetailsById(classId); var res = new List <ClassDisciplineDetails>(); foreach (var student in students) { var discipline = new ClassDisciplineDetails { Class = cClass, Student = student, Infractions = new List <Infraction>() }; var discRefferal = disciplineRefferals.FirstOrDefault(x => x.StudentId == student.Id); if (discRefferal != null) { MapperFactory.GetMapper <ClassDiscipline, DisciplineReferral>() .Map(discipline, discRefferal); } else { discipline.Date = date; discipline.ClassId = classId; discipline.StudentId = student.Id; } res.Add(discipline); } return(res); }
public static DisciplineView Create(ClassDisciplineDetails discipline, int currentPersonId, bool canEdit = false) { return(new DisciplineView(discipline, currentPersonId, canEdit)); }