public ActionResult Index(NewAdminViewModel nvm)
        {
            AttendanceManagementDBEntities1 db = new AttendanceManagementDBEntities1();

            db.CreateAdmin(nvm.AdminUserName);
            return(View());
        }
예제 #2
0
        public ActionResult GetAttendance(string departmentID, int Semester, string section, string slot, DateTime date)
        {
            AttendanceViewModel attendanceViewModel = new AttendanceViewModel();


            AttendanceManagementDBEntities1 db = new AttendanceManagementDBEntities1();
            var customer = db.AspNetUsers.FirstOrDefault(u => u.Email == User.Identity.Name);

            var teacher  = db.Teachers.FirstOrDefault(u => u.REFID == customer.Id);
            var students = db.Students.Where(s => s.Department_DID == (departmentID)).Where(s => s.Sem == (Semester)).Where(s => s.Section == (section)).ToList();

            //var subject = db.Subjects.FirstOrDefault(u => u.Department_DID == teacher.Department_DID);
            string usn = students[0].USN;
            var    tts = db.Teacher_Teaches_Student.Where(u => u.Teacher_TID == teacher.TID).FirstOrDefault(u => u.Student_USN == usn);


            string dt = date.ToShortDateString();

            var attendances = db.Attendances.Where(s => s.Teacher_TID == teacher.TID).Where(s => s.Subject_SubCode == tts.Subject_SubCode).Where(s => s.Date == dt).Where(s => s.Slot == slot).ToList();


            attendanceViewModel.Attds       = attendances;
            attendanceViewModel.Date        = dt;
            attendanceViewModel.Slot        = slot;
            attendanceViewModel.TeacherId   = teacher.TID;
            attendanceViewModel.SubjectCode = tts.Subject_SubCode;
            attendanceViewModel.Students    = students;

            return(View(attendanceViewModel));
        }
예제 #3
0
        public ActionResult Index(TeacherTeachesStudentModel classViewModel)
        {
            ttsmodel.Sub_Code       = classViewModel.Sub_Code;
            ttsmodel.Department_DID = classViewModel.Department_DID;
            ttsmodel.Sem            = classViewModel.Sem;
            ttsmodel.Section        = classViewModel.Section;


            AttendanceManagementDBEntities1 db = new AttendanceManagementDBEntities1();


            var customer = db.AspNetUsers.FirstOrDefault(u => u.Email == User.Identity.Name);
            var teacher  = db.Teachers.FirstOrDefault(u => u.REFID == customer.Id);



            classViewModel.Students = db.Students.Where(u => u.Section == classViewModel.Section).Where(u => u.Sem == classViewModel.Sem).Where(u => u.Department_DID == classViewModel.Department_DID).ToList();
            for (int i = 0; i < classViewModel.Students.Count; i++)
            {
                Student_Studies_Subject student_studies_subject = new Student_Studies_Subject();
                Teacher_Teaches_Student teacherTeachesStudent   = new Teacher_Teaches_Student();
                teacherTeachesStudent.Teacher_TID     = teacher.TID;
                teacherTeachesStudent.Subject_SubCode = classViewModel.Sub_Code;
                teacherTeachesStudent.Student_USN     = classViewModel.Students[i].USN;
                student_studies_subject.SubCode       = classViewModel.Sub_Code;
                student_studies_subject.USN           = classViewModel.Students[i].USN;
                db.Teacher_Teaches_Student.Add(teacherTeachesStudent);
                db.Student_Studies_Subject.Add(student_studies_subject);
                db.SaveChanges();
            }

            return(RedirectToAction("Index", "TeachersPortal"));
        }
        public ActionResult GetAttendance(string departmentID, int Semester, string section, string slot, DateTime date)
        {
            AttendanceViewModel attendanceViewModel = new AttendanceViewModel();


            AttendanceManagementDBEntities1 db = new AttendanceManagementDBEntities1();
            var customer = db.AspNetUsers.FirstOrDefault(u => u.Email == User.Identity.Name);

            var teacher  = db.Teachers.FirstOrDefault(u => u.REFID == customer.Id);
            var students = db.Students.Where(s => s.Department_DID == (departmentID)).Where(s => s.Sem == (Semester)).Where(s => s.Section == (section)).ToList();

            //var subject = db.Subjects.FirstOrDefault(u => u.Department_DID == teacher.Department_DID);
            if (students.Count == 0)
            {
                return(RedirectToAction("Index", "TeachersPortal"));
            }
            string usn = students[0].USN;

            var tts = db.Teacher_Teaches_Student.Where(u => u.Teacher_TID == teacher.TID).FirstOrDefault(u => u.Student_USN == usn);


            string dt = date.ToShortDateString();

            var attendances = db.Attendances.Where(s => s.Teacher_TID == teacher.TID).Where(s => s.Subject_SubCode == tts.Subject_SubCode).Where(s => s.Date == dt).Where(s => s.Slot == slot).ToList();



            for (int i = 0; i < attendances.Count; i++)
            {
                var    studentusn     = attendances[i].Student_USN;
                int    totalClasses   = db.Attendances.Where(s => s.Teacher_TID == teacher.TID).Where(s => s.Subject_SubCode == tts.Subject_SubCode).Where(s => s.Student_USN == studentusn).ToList().Count;
                int    presentClasses = db.Attendances.Where(s => s.Teacher_TID == teacher.TID).Where(s => s.Subject_SubCode == tts.Subject_SubCode).Where(s => s.Student_USN == studentusn).Where(s => s.IsPresent == 1).ToList().Count;
                double percentage     = ((presentClasses * 1.0) / totalClasses) * 100.0;
                attendanceViewModel.presentClasses.Add(presentClasses);
                attendanceViewModel.totalClass = totalClasses;
                attendanceViewModel.percentageOfAttendance.Add(percentage);
            }



            attendanceViewModel.Attds       = attendances;
            attendanceViewModel.Date        = dt;
            attendanceViewModel.Slot        = slot;
            attendanceViewModel.TeacherId   = teacher.TID;
            attendanceViewModel.SubjectCode = tts.Subject_SubCode;
            attendanceViewModel.Students    = students;


            return(View(attendanceViewModel));
        }
        public async Task <ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            // This doesn't count login failures towards account lockout
            // To enable password failures to trigger account lockout, change to shouldLockout: true
            var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout : false);

            AttendanceManagementDBEntities1 db = new AttendanceManagementDBEntities1();
            var user = db.AspNetUsers.FirstOrDefault(u => u.Email == model.Email);



            switch (result)
            {
            case SignInStatus.Success:
                if (user.IsAdmin == 1)
                {
                    return(RedirectToAction("Index", "AdminPortal"));
                }
                else
                {
                    return(RedirectToAction("Index", "teachersPortal"));
                }

            case SignInStatus.LockedOut:
                return(View("Lockout"));

            case SignInStatus.RequiresVerification:
                return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }));

            case SignInStatus.Failure:
            default:
                ModelState.AddModelError("", "Invalid login attempt.");
                return(View(model));
            }
        }
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    // For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771
                    // Send an email with this link
                    // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

                    AttendanceManagementDBEntities1 db = new AttendanceManagementDBEntities1();
                    var customer = db.AspNetUsers.FirstOrDefault(u => u.Email == model.Email);

                    Teacher teacher = new Teacher();
                    teacher.TID            = model.TID;
                    teacher.Name           = model.Name;
                    teacher.Department_DID = model.DID;
                    teacher.REFID          = customer.Id;

                    db.Teachers.Add(teacher);
                    db.SaveChanges();


                    return(RedirectToAction("Index", "TeachersPortal"));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }