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); } }
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); }