Example #1
0
        public void SetClassAttendances(DateTime date, int classId, IList <StudentClassAttendance> studentAttendances)
        {
            var dataStr = date.ToString(Constants.DATE_FORMAT);
            var sa      = new SectionAttendance
            {
                Date              = dataStr,
                SectionId         = classId,
                StudentAttendance = new List <StudentSectionAttendance>()
            };

            sa.StudentAttendance = studentAttendances.Select(sca => new StudentSectionAttendance
            {
                Category       = sca.Category,
                Date           = dataStr,
                ClassroomLevel = LevelToClassRoomLevel(sca.Level, sca.IsDailyAttendancePeriod),
                ReasonId       = (short)(sca.AttendanceReasonId ?? 0),
                SectionId      = classId,
                StudentId      = sca.StudentId,
            }).ToList();
            if (!Context.SchoolYearId.HasValue)
            {
                throw new ChalkableException(ChlkResources.ERR_CANT_DETERMINE_SCHOOL_YEAR);
            }
            ConnectorLocator.AttendanceConnector.SetSectionAttendance(Context.SchoolYearId.Value, date, classId, sa);
        }
        public void SetSectionAttendance(DateTime date, int classId, SectionAttendance sa)
        {
            var ds = date.ToString(Constants.DATE_FORMAT);

            if (AttendanceStorage.GetData().Count(x => x.Value.SectionId == classId && x.Value.Date == ds) == 0)
            {
                AttendanceStorage.Add(sa);
            }
            var item = AttendanceStorage.GetData().First(x => x.Value.SectionId == classId && x.Value.Date == ds).Key;

            sa.IsPosted = true;
            AttendanceStorage.GetData()[item] = sa;
        }
        public void SetClassAttendances(DateTime date, int classId, IList <StudentClassAttendance> studentAttendances)
        {
            var dataStr = date.ToString(Constants.DATE_FORMAT);
            var sa      = new SectionAttendance
            {
                Date              = dataStr,
                SectionId         = classId,
                StudentAttendance = new List <StudentSectionAttendance>()
            };

            sa.StudentAttendance = studentAttendances.Select(sca => new StudentSectionAttendance
            {
                Category       = sca.Category,
                Date           = dataStr,
                ClassroomLevel = LevelToClassRoomLevel(sca.Level),
                Level          = sca.Level,
                ReasonId       = (short)(sca.AttendanceReasonId.HasValue ? sca.AttendanceReasonId.Value : 0),
                SectionId      = classId,
                StudentId      = sca.StudentId,
            }).ToList();
            SetSectionAttendance(date, classId, sa);
        }
        public void GenerateSectionAttendanceForClass(int classId, DateTime startDate, DateTime endDate)
        {
            var classRoomLevels = new[] { BaseAttendance.ABSENT, BaseAttendance.MISSING, BaseAttendance.TARDY, BaseAttendance.PRESENT };
            var random          = new Random();

            for (var start = startDate; start <= endDate; start = start.AddDays(1))
            {
                var ds = start.ToString(Constants.DATE_FORMAT);
                var sa = new SectionAttendance
                {
                    SectionId         = classId,
                    Date              = ds,
                    StudentAttendance = ((DemoClassService)ServiceLocator.ClassService).GetClassPersons(classId)
                                        .Select(x => x.PersonRef).Distinct().Select(x => new StudentSectionAttendance()
                    {
                        Date           = ds,
                        SectionId      = classId,
                        StudentId      = x,
                        ClassroomLevel = classRoomLevels[random.Next(0, 4)]
                    }).ToList()
                };
                AttendanceStorage.Add(sa);
            }
        }
Example #5
0
        public void SetSectionAttendance(int acadSessionId, DateTime date, int sectionId, SectionAttendance sectionAttendance)
        {
            string url = $"{BaseUrl}Chalkable/sections/{sectionId}/attendance/{date.ToString(Constants.DATE_FORMAT)}";

            Post(url, sectionAttendance);
        }