示例#1
0
 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);
        }
示例#3
0
 public static DisciplineView Create(ClassDisciplineDetails discipline, int currentPersonId, bool canEdit = false)
 {
     return(new DisciplineView(discipline, currentPersonId, canEdit));
 }