protected StudentClassAttendanceViewData(StudentClassAttendance studentAttendance, AttendanceReason attendanceReason) : this(studentAttendance)
 {
     if (attendanceReason != null)
     {
         AttendanceReason = AttendanceReasonViewData.Create(attendanceReason);
     }
 }
        public static StudentClassAttendanceViewData Create(StudentClassAttendance studentAttendance, AttendanceReason attendanceReason)
        {
            var res = new StudentClassAttendanceViewData(studentAttendance);

            if (attendanceReason != null)
            {
                res.AttendanceReason = AttendanceReasonViewData.Create(attendanceReason);
            }
            return(res);
        }
 protected StudentClassAttendanceViewData(StudentClassAttendance studentAttendance)
 {
     StudentId          = studentAttendance.StudentId;
     ClassId            = studentAttendance.ClassId;
     AbsentPreviousDay  = studentAttendance.AbsentPreviousDay;
     AttendanceReasonId = studentAttendance.AttendanceReasonId;
     Student            = StudentViewData.Create(studentAttendance.Student);
     ReadOnly           = studentAttendance.ReadOnly;
     ReadOnlyReason     = studentAttendance.ReadOnlyReason;
     Date  = studentAttendance.Date;
     Level = studentAttendance.Level;
 }
        public Notification BuildAttendanceNotificationToStudent(Person recipient, StudentClassAttendance studentAttendance, Class cClass)
        {
            var otherModel = new
            {
                AttendanceType = studentAttendance.Level,
                ClassName      = cClass.Name,
                Date           = studentAttendance.Date.ToString(DATA_FORMAT),
                Period         = 0//TODO: no data in INOW ?
            };

            return(BuildNotificationFromTemplate(NotificationTemplateProvider.ATTENDANCE_NOTIFICATION_TO_STUDENT,
                                                 NotificationType.Attendance, recipient, null, null, null, null, null, otherModel));
        }
 private StudentPeriodAttendance CreateStudentPeriodAttendnace(StudentClassAttendance studentClassAttendance, Period period, Class cClass)
 {
     return(new StudentPeriodAttendance
     {
         Level = studentClassAttendance.Level,
         AbsentPreviousDay = studentClassAttendance.AbsentPreviousDay,
         AttendanceReasonId = studentClassAttendance.AttendanceReasonId,
         Category = studentClassAttendance.Category,
         Class = cClass,
         ClassId = studentClassAttendance.ClassId,
         Student = studentClassAttendance.Student,
         Date = studentClassAttendance.Date,
         StudentId = studentClassAttendance.StudentId,
         Period = period
     });
 }
        public static StudentClassAttendanceOldViewData Create(ClassAttendanceDetails attendance, StudentClassAttendance studentAttendance, AttendanceReason reason)
        {
            var res = new StudentClassAttendanceOldViewData
            {
                PersonId                = studentAttendance.StudentId,
                ClassId                 = attendance.Class.Id,
                ClassName               = attendance.Class.Name,
                Date                    = studentAttendance.Date,
                AttendanceReasonId      = studentAttendance.AttendanceReasonId,
                Student                 = StudentViewData.Create(studentAttendance.Student),
                Level                   = studentAttendance.Level,
                IsPosted                = attendance.IsPosted,
                AbsentPreviousDay       = studentAttendance.AbsentPreviousDay,
                ReadOnly                = studentAttendance.ReadOnly,
                ReadOnlyReason          = studentAttendance.ReadOnlyReason,
                FullClassReadOnly       = attendance.ReadOnly,
                FullClassReadOnlyReason = attendance.ReadOnlyReason,
                IsDailyAttendancePeriod = attendance.IsDailyAttendancePeriod
            };

            if (reason != null)
            {
                res.AttendanceReason = AttendanceReasonViewData.Create(reason);
            }
            return(res);
        }