Beispiel #1
0
        // GET: api/AttendanceApi
        public IQueryable Get()
        {
            DataManager             dm   = new DataManager();
            List <AttendanceReport> list = new List <AttendanceReport>();
            String token     = Request.Headers.Authorization.Parameter;
            int    teacherId = dm.getTeacherID(AccountManager.getUsernameFromToken(token));
            List <ClassCourseDetail> detail = dm.getClassCourseDetail(teacherId);

            foreach (ClassCourseDetail sdetail in detail)
            {
                List <Student> students = db.Students.Where(o => o.Classes.Any(c => c.classID == sdetail.classID)).ToList <Student>();
                foreach (Student std in students)
                {
                    AttendanceReport obj = new AttendanceReport();
                    obj.classID    = sdetail.classID;
                    obj.courseCode = sdetail.courseCode;
                    obj.rollNo     = std.rollNo;
                    StudentsDetailAttendance stdetail = dm.getAttendanceDetail(std.rollNo, sdetail.classID, sdetail.courseCode, teacherId);
                    obj.presentPercentage = stdetail.presentPercentage;
                    obj.totalAttendance   = stdetail.totalAttendace;
                    obj.absentPercentage  = stdetail.abscentPercentage;
                    list.Add(obj);
                }
            }
            return(list.AsQueryable());
        }
Beispiel #2
0
        public StudentsDetailAttendance getAttendanceDetail(string rollNo, int classID, string courseCode, int teacherID)
        {
            StudentsDetailAttendance detail = new StudentsDetailAttendance();

            detail.rollNo      = rollNo;
            detail.studentName = db.Students.Find(rollNo).fullName;
            List <Attendance> obj = db.Attendances.Where(o => o.classID == classID && o.courseCode == courseCode && o.teacherID == teacherID && o.rollNo == rollNo).ToList <Attendance>();

            detail.totalAttendace = obj.Count;
            if (obj.Count == 0)
            {
                detail.presentPercentage = 0;
                detail.abscentPercentage = 0;
            }
            else
            {
                Double  presentVal = obj.Where(o => o.status == "Present").ToArray().Length;
                Decimal present    = Decimal.Parse(((presentVal) / Double.Parse(obj.Count.ToString()) * 100.00).ToString());
                detail.presentPercentage = present;
                Double  abcentVal = obj.Where(o => o.status == "Absent").ToArray().Length;
                Decimal abcent    = Decimal.Parse(((abcentVal) / Double.Parse(obj.Count.ToString()) * 100.00).ToString());
                detail.abscentPercentage = abcent;
            }
            return(detail);
        }