Пример #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                mvTeacherSubjects.ActiveViewIndex = 0;
            }

            using (DatabaseDataContext db = new DatabaseDataContext())
            {
                List <tblSubject> subjects = db.tblSubjects.SortBy("subjectTitle").Where(x => x.isVisible).ToList();

                ControlManager.populateControl(subjects, subjectListRepeater);
            }
        }
Пример #2
0
        protected void btnEnroll_Click(object sender, EventArgs e)
        {
            int hash = sender.GetHashCode();

            for (int i = 0; i < subjectsCatalogRepeater.Items.Count; i++)
            {
                Button button = (Button)subjectsCatalogRepeater.Items[i].FindControl("btnEnroll");

                if (button.GetHashCode() == hash)
                {
                    Label label = (Label)subjectsCatalogRepeater.Items[i].FindControl("lblSubjectCode");

                    DropDownList ddl = (DropDownList)subjectsCatalogRepeater.Items[i].FindControl("ddlChangeTeacher");

                    TextBox textBox = (TextBox)subjectsCatalogRepeater.Items[i].FindControl("txtCurrentTeacher");

                    using (DatabaseDataContext db = new DatabaseDataContext())
                    {
                        var teachers = db.tblTeachers.Where(x => x.subjectCode == Convert.ToInt32(label.Text));

                        ddl.DataTextField  = "teacherFullName";
                        ddl.DataValueField = "teacherID";

                        textBox.Text = "No current teacher";

                        ControlManager.populateControl(teachers, ddl);
                    }

                    if (ddl.Items.Count == 0)
                    {
                        ddl.Enabled = false;
                        Button confirmButton = (Button)subjectsCatalogRepeater.Items[i].FindControl("btnEnrollConfirmEnroll");
                        confirmButton.Enabled = false;
                    }

                    //AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
                    //trigger.ControlID = button.UniqueID;
                    //trigger.EventName = "Click";
                    //upRepeater.Triggers.Add(trigger);

                    MultiView mv = (MultiView)subjectsCatalogRepeater.Items[i].FindControl("mvPanelFooter");
                    mv.ActiveViewIndex = 4;

                    mv = (MultiView)subjectsCatalogRepeater.Items[i].FindControl("mvPanelBody");
                    mv.ActiveViewIndex = 1;
                }
            }
        }
Пример #3
0
        protected void subjectsCatalogRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            Label        label   = (Label)e.Item.FindControl("lblSubjectCode");
            DropDownList ddl     = (DropDownList)e.Item.FindControl("ddlChangeTeacher");
            TextBox      textBox = (TextBox)e.Item.FindControl("txtCurrentTeacher");

            using (DatabaseDataContext db = new DatabaseDataContext())
            {
                tblStudentSubject teacher = db.tblStudentSubjects.Where(x => x.studentID == SessionManager.StudentID && x.subjectCode == Convert.ToInt32(label.Text) && x.isVisible).FirstOrDefault();

                tblTeacher currentTeacher;
                int?       teacherID;

                object teachers;

                if (teacher == null)
                {
                    teacherID    = null;
                    textBox.Text = "No current teacher";

                    teachers = db.tblTeachers.Where(x => x.subjectCode == Convert.ToInt32(label.Text)).ToList();
                }
                else
                {
                    currentTeacher = db.tblTeachers.Where(x => x.teacherID == teacher.teacherID).FirstOrDefault();
                    textBox.Text   = currentTeacher.teacherFullName;
                    teacherID      = teacher.teacherID;

                    teachers = db.tblTeachers.Where(x => x.subjectCode == Convert.ToInt32(label.Text) && x.teacherID != teacherID).ToList();
                }

                ddl.DataTextField  = "teacherFullName";
                ddl.DataValueField = "teacherID";

                ControlManager.populateControl(teachers, ddl);

                if (ddl.Items.Count == 0)
                {
                    ddl.Enabled = false;
                    Button confirmButton = (Button)e.Item.FindControl("btnChangeConfirmTeacher");
                    confirmButton.Enabled = false;

                    confirmButton         = (Button)e.Item.FindControl("btnEnrollConfirmEnroll");
                    confirmButton.Enabled = false;
                }
            }
        }
Пример #4
0
        protected void btnViewAssignments_Click(object sender, EventArgs e)
        {
            using (DatabaseDataContext db = new DatabaseDataContext())
            {
                Session["panelShow"] = null;

                List <tblAssignment> assignments = db.tblAssignments.Where(x => x.teacherID == SessionManager.TeacherID && x.isArchived == false).SortBy("assignmentEndDate").ToList();

                Session["assignmentList"] = assignments;

                btnViewAssignments.Visible = false;
                btnViewArchives.Visible    = true;

                ControlManager.populateControl(assignments, rAssignment);
                panelSetup(assignments);
            }
        }
Пример #5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["User"] != null)
            {
                tblUser user = (tblUser)Session["User"];

                using (DatabaseDataContext db = new DatabaseDataContext())
                {
                    string userFullName;

                    if (user.userType.ToString().Equals("T"))
                    {
                        userFullName = db.tblTeachers.Where(x => x.userID == user.userID).FirstOrDefault().teacherFullName;
                    }
                    else
                    {
                        userFullName = db.tblStudents.Where(x => x.userID == user.userID).FirstOrDefault().studentFullName;
                    }

                    lblUser.Text = userFullName;
                }
            }
            else
            {
                Response.Redirect("Login.aspx");
            }

            using (DatabaseDataContext db = new DatabaseDataContext())
            {
                var list = db.tblNotifications.Where(x => x.userID == SessionManager.UserID).SortBy("notificationID").ToList();

                list.Reverse();

                ControlManager.populateControl(list, rNotifications);
            }

            lNotifications.Text = NotificationManager.unseenNotificationCount();

            aNotifications.ServerClick += ANotifications_ServerClick;
        }
Пример #6
0
        protected void btnNewSubjectAdd_Click(object sender, EventArgs e)
        {
            using (DatabaseDataContext db = new DatabaseDataContext())
            {
                if (db.tblSubjects.Where(x => x.subjectCode == Convert.ToInt32(txtSubjectCode.Text)).FirstOrDefault() != null)
                {
                    lblSubjectCode.Visible = true;
                    return;
                }
            }


            tblSubject subject = new tblSubject
            {
                subjectCode        = Convert.ToInt32(txtSubjectCode.Text),
                subjectTitle       = txtSubjectTitle.Text,
                subjectGroup       = ddlSubjectGroup.SelectedItem.Text,
                subjectDescription = txtSubjectDescription.Text,
                isVisible          = true
            };

            using (DatabaseDataContext db = new DatabaseDataContext())
            {
                db.tblSubjects.InsertOnSubmit(subject);
                db.SubmitChanges();

                List <tblSubject> subjects = db.tblSubjects.SortBy("subjectTitle").Where(x => x.isVisible).ToList();

                ControlManager.populateControl(subjects, subjectListRepeater);
            }


            ControlManager.clearTextBoxes(vForm);
            lblSubjectCode.Visible = false;

            mvTeacherSubjects.ActiveViewIndex = 0;
            pAdd.Visible = true;
        }
Пример #7
0
        protected void btnNewSubjectEdit_Click(object sender, EventArgs e)
        {
            int id = Convert.ToInt32(txtSubjectCode.Text);

            using (DatabaseDataContext db = new DatabaseDataContext())
            {
                tblSubject subject = db.tblSubjects.Where(x => x.subjectCode == id).FirstOrDefault();
                subject.subjectTitle       = txtSubjectTitle.Text;
                subject.subjectGroup       = ddlSubjectGroup.SelectedValue;
                subject.subjectDescription = txtSubjectDescription.Text;

                db.SubmitChanges();

                List <tblSubject> subjects = db.tblSubjects.SortBy("subjectTitle").Where(x => x.isVisible).ToList();

                ControlManager.populateControl(subjects, subjectListRepeater);
            }

            ControlManager.clearTextBoxes(vForm);

            mvTeacherSubjects.ActiveViewIndex = 0;
            pEdit.Visible = true;
        }
Пример #8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            using (DatabaseDataContext db = new DatabaseDataContext())
            {
                var list = db.tblUsers.Join(
                    db.tblStudents,
                    x => x.userID,
                    y => y.userID,
                    (x, y) => new { tblUser = x, tblStudent = y }).Join(
                    db.tblStudentSubjects,
                    y => y.tblStudent.studentID,
                    z => z.studentID,
                    (y, z) => new { tblStudent = y, tblStudentSubject = z }).Where(
                    x => x.tblStudentSubject.teacherID == SessionManager.TeacherID &&
                    x.tblStudentSubject.isVisible && x.tblStudentSubject.teacherID != null).Select(s => new
                {
                    s.tblStudent.tblStudent.studentFullName,
                    s.tblStudent.tblUser.userEmail,
                    s.tblStudentSubject.joiningDate
                });

                ControlManager.populateControl(list, studentListRepeater);
            }
        }
Пример #9
0
        // ------------- Buttons on the Panel --------------- //

        protected void btnChangeTeacher_Click(object sender, EventArgs e)
        {
            int hash = sender.GetHashCode();

            for (int i = 0; i < subjectsCatalogRepeater.Items.Count; i++)
            {
                Button button = (Button)subjectsCatalogRepeater.Items[i].FindControl("btnChangeTeacher");

                if (button.GetHashCode() == hash)
                {
                    Label label = (Label)subjectsCatalogRepeater.Items[i].FindControl("lblSubjectCode");

                    DropDownList ddl = (DropDownList)subjectsCatalogRepeater.Items[i].FindControl("ddlChangeTeacher");



                    using (DatabaseDataContext db = new DatabaseDataContext())
                    {
                        var teachers = db.tblTeachers.Where(x => x.subjectCode == Convert.ToInt32(label.Text));

                        ddl.DataTextField  = "teacherFullName";
                        ddl.DataValueField = "teacherID";

                        ControlManager.populateControl(teachers, ddl);

                        Session["ddl"] = Convert.ToInt32(ddl.Items[0].Value);
                    }

                    MultiView mv = (MultiView)subjectsCatalogRepeater.Items[i].FindControl("mvPanelFooter");
                    mv.ActiveViewIndex = 2;

                    mv = (MultiView)subjectsCatalogRepeater.Items[i].FindControl("mvPanelBody");
                    mv.ActiveViewIndex = 1;
                }
            }
        }
Пример #10
0
        // -------------- Form View --------------- //

        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            if (DateTime.Parse(dtStartDate.Text).Date <= DateTime.Now.Date)
            {
                regStartDate.Visible = true;
                return;
            }
            else
            {
                regStartDate.Visible = false;
            }

            if (DateTime.Parse(dtStartDate.Text).Date >= DateTime.Parse(dtEndDate.Text).Date)
            {
                regEndDate.Visible = true;
                return;
            }
            else
            {
                regEndDate.Visible = false;
            }

            string extension;

            var postedFileExtension = Path.GetExtension(fuSupplementaryFiles.FileName);

            if (!string.Equals(postedFileExtension, ".pdf", StringComparison.OrdinalIgnoreCase) &&
                !string.Equals(postedFileExtension, ".docx", StringComparison.OrdinalIgnoreCase))
            {
                lSupplementaryFiles.Visible = true;

                return;
            }
            else
            {
                if (string.Equals(postedFileExtension, ".pdf", StringComparison.OrdinalIgnoreCase))
                {
                    extension = ".pdf";
                }
                else
                {
                    extension = ".docx";
                }

                lSupplementaryFiles.Visible = false;
            }

            using (DatabaseDataContext db = new DatabaseDataContext())
            {
                string fileName = fuSupplementaryFiles.HasFile ? (txtAssignmentTitle.Text + SessionManager.TeacherID + extension) : null;

                tblAssignment assignment = new tblAssignment
                {
                    assignmentQuestionStatement = txtQuestionStatement.Text,
                    assignmentTitle             = txtAssignmentTitle.Text,
                    assignmentStartDate         = DateTime.Parse(dtStartDate.Text),
                    assignmentEndDate           = DateTime.Parse(dtEndDate.Text),
                    isGraded               = false,
                    isArchived             = false,
                    assignmentMaximumMarks = Convert.ToInt32(txtMaximumMarks.Text),
                    teacherID              = SessionManager.TeacherID,
                    fileName               = fileName
                };

                db.tblAssignments.InsertOnSubmit(assignment);

                if (assignment.fileName != null)
                {
                    //Saves file to a folder located inside the server
                    string savePath = Server.MapPath("~/Files/SupplementaryFiles");

                    //Renames the file such that there cannot be any duplicates
                    string saveFileName = fileName;

                    string imgSavePath = Path.Combine(savePath, saveFileName);
                    fuSupplementaryFiles.SaveAs(imgSavePath);
                }

                db.SubmitChanges();

                //assignment = (tblAssignment)db.GetChangeSet().Inserts.FirstOrDefault();

                var assignments  = db.tblAssignments.ToList();
                int assignmentID = assignments.LastOrDefault().assignmentID;

                var students = db.tblStudentSubjects.Where(x => x.teacherID == SessionManager.TeacherID && x.isVisible);

                int userID;

                foreach (tblStudentSubject student in students)
                {
                    userID = db.tblStudents.Where(x => x.studentID == student.studentID).FirstOrDefault().userID;

                    tblStudentAssignment studentAssignment = new tblStudentAssignment
                    {
                        studentID               = student.studentID,
                        assignmentID            = assignmentID,
                        studentAssignmentStatus = false,
                        studentAssignmentMarks  = null
                    };

                    db.tblStudentAssignments.InsertOnSubmit(studentAssignment);
                    db.SubmitChanges();

                    NotificationManager.assignmentCreateNotification(userID);
                }

                var list = db.tblAssignments.Where(x => x.teacherID == SessionManager.TeacherID).SortBy("assignmentEndDate");

                assignments = db.tblAssignments.Where(x => x.teacherID == SessionManager.TeacherID && x.isArchived == false).SortBy("assignmentEndDate").ToList();

                Session["assignmentList"] = assignments;

                ControlManager.populateControl(assignments, rAssignment);
            }

            ControlManager.clearTextBoxes(vForm);
            mvTeacherAssignments.ActiveViewIndex = 0;
            pCreate.Visible = true;
        }
Пример #11
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
            }

            using (DatabaseDataContext db = new DatabaseDataContext())
            {
                var list = db.tblStudents.Join(
                    db.tblStudentSubjects,
                    x => x.studentID,
                    y => y.studentID,
                    (x, y) => new { tblStudent = x, tblStudentSubject = y }).Join(
                    db.tblSubjects,
                    y => y.tblStudentSubject.subjectCode,
                    z => z.subjectCode,
                    (y, z) => new { tblStudentSubject = y, tblSubject = z }
                    ).Where(x => x.tblStudentSubject.tblStudentSubject.isVisible && x.tblStudentSubject.tblStudent.studentID == SessionManager.StudentID).Select(s => new
                {
                    s.tblSubject.subjectCode,
                    s.tblSubject.subjectGroup,
                    s.tblSubject.subjectDescription,
                    s.tblSubject.subjectTitle
                });

                ControlManager.populateControl(list, subjectsCatalogRepeater);

                tblUser user = (tblUser)Session["User"];

                var studentSubjects = db.tblStudentSubjects.Where(x => x.studentID == SessionManager.StudentID).ToList();

                for (int i = 0; i < subjectsCatalogRepeater.Items.Count; i++)
                {
                    Label label = (Label)subjectsCatalogRepeater.Items[i].FindControl("lblSubjectCode");

                    if (studentSubjects.Where(x => x.subjectCode == Convert.ToInt32(label.Text) && x.isVisible).FirstOrDefault() == null)
                    {
                        MultiView mv = (MultiView)subjectsCatalogRepeater.Items[i].FindControl("mvPanelFooter");

                        mv.ActiveViewIndex = 1;
                    }
                    else
                    {
                        MultiView mv = (MultiView)subjectsCatalogRepeater.Items[i].FindControl("mvPanelFooter");

                        Button button = (Button)subjectsCatalogRepeater.Items[i].FindControl("btnChangeTeacher");

                        if (studentSubjects.Where(x => x.subjectCode == Convert.ToInt32(label.Text) && x.isVisible && x.studentID == SessionManager.StudentID && x.teacherID != null).FirstOrDefault() == null)
                        {
                            button = (Button)subjectsCatalogRepeater.Items[i].FindControl("btnChangeTeacher");

                            button.Text      = "Choose teacher";
                            button.CssClass += "btn btn-info";
                        }
                        else
                        {
                            button.CssClass += "btn btn-orange";
                        }

                        mv.ActiveViewIndex = 0;
                    }

                    MultiView mvBody = (MultiView)subjectsCatalogRepeater.Items[i].FindControl("mvPanelBody");
                    mvBody.ActiveViewIndex = 0;
                }
            }
        }
Пример #12
0
        protected void btnStudentNext_Click(object sender, EventArgs e)
        {
            tblUser user = new tblUser
            {
                userEmail    = txtRegisterEmail.Text,
                userPassword = txtRegisterPassword.Text,
                userType     = 'S'
            };

            using (DatabaseDataContext db = new DatabaseDataContext())
            {
                //Check if the field that has been entered already exists
                if (db.tblUsers.Where(x => x.userEmail.Equals(txtRegisterEmail.Text)).FirstOrDefault() != null)
                {
                    //Make the label visible and break the onClick() function
                    lblRegisterEmail.Visible = true;
                    return;
                }

                lblRegisterEmail.Visible = false;

                db.tblUsers.InsertOnSubmit(user);
                db.SubmitChanges();

                tblStudent student = new tblStudent
                {
                    studentFullName = txtRegisterName.Text,

                    userID = db.tblUsers.Where(x => x.userEmail == txtRegisterEmail.Text).FirstOrDefault().userID
                };

                db.tblStudents.InsertOnSubmit(student);
                db.SubmitChanges();

                //Populating the Repeater in the next View


                //for (int i = 0; i < rRegisterTeachers.Items.Count; i++)
                //{
                //    DropDownList ddl = (DropDownList)rRegisterTeachers.Items[i].FindControl("ddlRegisterTeacher");

                //    Label label = (Label)rRegisterTeachers.Items[i].FindControl("lblSubjectName");
                //    int subjectCode = Convert.ToInt32(label.Text.Substring(label.Text.Length - 4));

                //    var teachers = db.tblTeachers.Where(x => x.subjectCode == subjectCode);

                //    ddl.DataTextField = "teacherFullName";
                //    ddl.DataValueField = "teacherID";

                //    ControlManager.populateControl(teachers, ddl);

                //    if (teachers.FirstOrDefault() == null)
                //    {
                //        ddl.Items.Insert(0, new ListItem("There are no teachers available for this subject", "0"));
                //        ddl.Enabled = false;
                //    }
                //}



                ControlManager.populateControl(getSubjectsQuery(db), rRegisterSubjects);

                mvRegister.ActiveViewIndex = 2;
                mvRegisterStudentButton.ActiveViewIndex = 0;
            }
        }