コード例 #1
0
        private void RefreshTable()
        {
            dataGridView1.Rows.Clear();
            dataGridView1.Refresh();

            List <Classes> classList = new List <Classes>();

            classList = ClassesDB.ClassLoad();

            dataGridView1.ColumnCount     = 3;
            dataGridView1.Columns[0].Name = "Class ID";
            dataGridView1.Columns[1].Name = "Class Title";
            dataGridView1.Columns[2].Name = "Class Track";

            foreach (Classes classes in classList)
            {
                string[] row;
                row = new string[] { classes.ClassID.ToString(), classes.ClassTitle, classes.ClassTrack };

                dataGridView1.Rows.Add(row);
            }

            int id = 0;

            foreach (Classes classes in classList)
            {
                if (classes.ClassID >= id)
                {
                    id = classes.ClassID + 1;
                }
            }

            classIDLabel1.Text = id.ToString();
        }
コード例 #2
0
        private void btnDelete_Click(object sender, EventArgs e)
        {
            if (lblSelected.Text == "")
            {
                MessageBox.Show("Please select a class to delete");
            }
            else
            {
                Classes newClasses = new Classes();
                int     classNum   = Convert.ToInt32(lblSelected.Text);

                newClasses.ClassID = classNum;
                ClassesDB.ClassDelete(newClasses);

                List <Teacher> teacherList = TeacherDB.TeacherLoad();
                foreach (Teacher teacher in teacherList)
                {
                    foreach (int classid in teacher.ClassID)
                    {
                        if (classid == newClasses.ClassID)
                        {
                            teacher.ClassID.Remove(classid);
                            TeacherDB.TeacherDelete(teacher);
                            TeacherDB.TeacherSave(teacher);
                        }
                    }
                }

                RefreshTable();
            }
        }
コード例 #3
0
        public ActionResult MailMerge()
        {
            List <Class> classes = ClassesDB.GetClasses();

            ViewBag.Classes = classes;
            return(View());
        }
コード例 #4
0
        private void btnDelete_Click(object sender, EventArgs e)
        {
            Teacher deleteTeacher = new Teacher();

            deleteTeacher.TeacherID = Convert.ToInt32(dataGridView1.CurrentRow.Cells[0].Value.ToString());
            deleteTeacher.FirstName = dataGridView1.CurrentRow.Cells[1].Value.ToString();
            deleteTeacher.LastName  = dataGridView1.CurrentRow.Cells[2].Value.ToString();

            //Need to check all classes and see if teacher has that class and delete them.
            List <Classes> ListClasses = ClassesDB.ClassLoad();

            foreach (Classes classes in ListClasses)
            {
                foreach (int teacherid in classes.TeacherID)
                {
                    if (deleteTeacher.TeacherID == teacherid)
                    {
                        classes.TeacherID.Remove(teacherid);
                        ClassesDB.ClassDelete(classes);
                        ClassesDB.ClassSave(classes);
                    }
                }
            }

            TeacherDB.TeacherDelete(deleteTeacher);
            RefreshTable();
        }
コード例 #5
0
ファイル: AssignClasses.cs プロジェクト: pjk1413/Roll-Call
        private void comboBox1_TextChanged(object sender, EventArgs e)
        {
            for (int i = 0; i < checkedListBox1.Items.Count; i++)
            {
                checkedListBox1.SetItemChecked(i, false);
            }

            List <Teacher> TeacherList = TeacherDB.TeacherLoad();
            List <Classes> ClassList   = ClassesDB.ClassLoad();

            string[] teacherName = comboBox1.Text.Split(' ');
            Teacher  teacher     = TeacherDB.TeacherFind(Convert.ToInt32(teacherName[0]));

            for (int i = 0; i < checkedListBox1.Items.Count; i++)
            {
                string[] classid = checkedListBox1.Items[i].ToString().Split(' ');

                foreach (int id in teacher.ClassID)
                {
                    if (Convert.ToInt32(classid[0]) == id)
                    {
                        checkedListBox1.SetItemChecked(i, true);
                    }
                }
            }
        }
コード例 #6
0
        public ActionResult ClassRating()
        {
            List <Class> classes = ClassesDB.GetClasses();

            ViewBag.Classes = classes;
            return(View());
        }
コード例 #7
0
        private void btnDelete_Click(object sender, EventArgs e)
        {
            Student deleteStudent = new Student();

            deleteStudent.StudentID = Convert.ToInt32(dataGridView1.CurrentRow.Cells[0].Value.ToString());
            deleteStudent.FirstName = dataGridView1.CurrentRow.Cells[1].Value.ToString();
            deleteStudent.LastName  = dataGridView1.CurrentRow.Cells[2].Value.ToString();

            //Need to check all classes and see if teacher has that class and delete them.
            List <Classes> ListClasses = ClassesDB.ClassLoad();

            foreach (Classes classes in ListClasses)
            {
                if (classes.StudentID != null)
                {
                    foreach (int studentid in classes.StudentID)
                    {
                        if (deleteStudent.StudentID == studentid)
                        {
                            classes.StudentID.Remove(studentid);
                            ClassesDB.ClassDelete(classes);
                            ClassesDB.ClassSave(classes);
                        }
                    }
                }
            }

            StudentDB.StudentDelete(deleteStudent);
            RefreshTable();
        }
コード例 #8
0
        public ActionResult GetRating(int id)
        {
            List <PupilWithAvgMark> pupils = ClassesDB.GetClassRating(id);

            ViewData["ClassID"] = id;
            return(PartialView(pupils));
        }
コード例 #9
0
        //Save a new class
        private void button3_Click(object sender, EventArgs e)
        {
            Classes newClass = new Classes();

            List <int> teacherID = new List <int>()
            {
                0, 0, 0, 0
            };

            newClass.ClassID    = Convert.ToInt32(classIDLabel1.Text);
            newClass.ClassTitle = txtTitle.Text;
            newClass.Sections   = 1;
            newClass.TeacherID  = teacherID;

            if (comboBox1.Text == "")
            {
                newClass.ClassTrack = "A";
            }
            else
            {
                newClass.ClassTrack = comboBox1.Text;
            }

            ClassesDB.ClassSave(newClass);
            RefreshTable();
        }
コード例 #10
0
ファイル: EditTeacher.cs プロジェクト: pjk1413/Roll-Call
        private void EditTeacher_Load(object sender, EventArgs e)
        {
            dataGridView1.Rows.Clear();
            dataGridView1.Refresh();

            dataGridView1.ColumnCount     = 3;
            dataGridView1.Columns[0].Name = "Class ID";
            dataGridView1.Columns[1].Name = "Class Title";
            dataGridView1.Columns[2].Name = "Class Track";

            Teacher teacher = TeacherDB.TempLoad();

            lblTeacherID.Text = teacher.TeacherID.ToString();
            txtFirstName.Text = teacher.FirstName;
            txtLastName.Text  = teacher.LastName;

            Teacher        newTeacher = TeacherDB.TeacherFind(teacher.TeacherID);
            List <Classes> ClassList  = new List <Classes>();

            foreach (int classID in newTeacher.ClassID)
            {
                Classes  newClass = ClassesDB.ClassFind(classID);
                string[] row      = new string[] { newClass.ClassID.ToString(), newClass.ClassTitle, newClass.ClassTrack };
                dataGridView1.Rows.Add(row);
            }
        }
コード例 #11
0
        public ActionResult ViewPupils()
        {
            List <PupilWithClass> p       = PupilsDB.GetPupilsWithClass();
            List <Class>          classes = ClassesDB.GetClasses();

            ViewBag.Classes = classes;
            return(View(p));
        }
コード例 #12
0
        public ActionResult EditClassInformation(int action)
        {
            ClassWithManagment     Class    = ClassesDB.GetClassFullInf(action);
            List <TeacherShortInf> teachers = TeachersDB.GetTeachersShortInf();

            ViewBag.Teachers = teachers;
            return(View(Class));
        }
コード例 #13
0
        // Добавление нового ученика.
        public ActionResult AddPupilForm()
        {
            List <Class> classesList = ClassesDB.GetClasses();
            SelectList   classesSL   = new SelectList(classesList, "Class_ID", "Class_Name");

            ViewBag.Classes = classesSL;
            return(View());
        }
コード例 #14
0
        public ActionResult ViewMarkInfo(int delete, int a = 0)
        {
            int pupilId            = PupilsDB.GetPupilIdByMark(delete);
            PupilFullInformation p = PupilsDB.GetPupilsFullInformation(pupilId);
            int classID            = ClassesDB.GetClassId(p.Class);

            MarksDB.DeleteMark(delete);
            return(RedirectToAction("ViewMarks", "Teacher", new { id = classID }));
        }
コード例 #15
0
        // Редактирование информации про ученика.
        public ActionResult EditPupilInformation(int action)
        {
            PupilFullInformation p           = PupilsDB.GetPupilsFullInformation(action);
            List <Class>         classesList = ClassesDB.GetClassesWithoutCurr(p.Class);
            SelectList           classesSL   = new SelectList(classesList, "Class_ID", "Class_Name");

            ViewBag.Classes = classesSL;
            return(View(p));
        }
コード例 #16
0
        public ActionResult ClassFullInf(int id)
        {
            ClassWithManagment Class  = ClassesDB.GetClassFullInf(id);
            List <Pupil>       pupils = PupilsDB.GetPupilsInClass(id);

            ViewBag.Pupils  = pupils;
            ViewBag.ClassId = id;
            return(View(Class));
        }
コード例 #17
0
        public ActionResult AddNewMark(Mark m, int res = 0)
        {
            MarksDB.AddMark(m.Pupil_ID, res, (int)m.TypeOfWork_ID, (int)m.PupilMark);

            PupilFullInformation pupil = PupilsDB.GetPupilsFullInformation(m.Pupil_ID);

            int classID = ClassesDB.GetClassId(pupil.Class);

            return(RedirectToAction("ViewMarks", "Teacher", new { id = classID }));
        }
コード例 #18
0
ファイル: ViewAllStudents.cs プロジェクト: pjk1413/Roll-Call
        private string CLR(int id)
        {
            string classString;

            Classes newClass = ClassesDB.ClassFind(id);

            classString = newClass.ClassID.ToString() + " " + newClass.ClassTitle + " " + newClass.ClassTrack;

            return(classString);
        }
コード例 #19
0
        public ActionResult GetRating(int action, int classID)
        {
            List <PupilWithAvgMark> pupils = ClassesDB.GetClassRating(classID);

            new ElectronicJournnal.Models.GenerateClassRatingReport().CreatePackage(@"E:\Uni\Course Project\ElectronicJournnal\ElectronicJournnal\Files\CurrentClassRatingReport.docx", pupils);
            string file_path = Server.MapPath("~/Files/CurrentClassRatingReport.docx");;
            string file_type = "application/docx";
            string file_name = "Рейтинг " + ClassesDB.GetClassFullInf(classID).Class_Name + " класса.docx";

            return(File(file_path, file_type, file_name));
        }
コード例 #20
0
 public ActionResult ViewClasses(int action = 0, int delete = 0)
 {
     if (action != 0)
     {
         return(RedirectToAction("ClassFullInf", "Teacher", new { id = action }));
     }
     else
     {
         ClassesDB.DeleteClass(delete);
         return(RedirectToAction("ViewClasses", "Teacher"));
     }
 }
コード例 #21
0
        public ActionResult AddLessonForm()
        {
            List <Class> classes = ClassesDB.GetClasses();

            ViewBag.Classes = classes;
            List <TeacherShortInf> teachers = TeachersDB.GetTeachersShortInf();

            ViewBag.Teachers = teachers;
            List <Subject> subjects = SubjectsDB.GetSubjects();

            ViewBag.Subjects = subjects;
            return(View());
        }
コード例 #22
0
        public ActionResult EditLesson(int lessonID)
        {
            LessonFullInf lesson  = LessonsDB.GetLessonFullInf(lessonID);
            List <Class>  classes = ClassesDB.GetClasses();

            ViewBag.Classes = classes;
            List <TeacherShortInf> teachers = TeachersDB.GetTeachersShortInf();

            ViewBag.Teachers = teachers;
            List <Subject> subjects = SubjectsDB.GetSubjects();

            ViewBag.Subjects = subjects;
            return(View(lesson));
        }
コード例 #23
0
ファイル: AssignClasses.cs プロジェクト: pjk1413/Roll-Call
        private void AssignClasses_Load(object sender, EventArgs e)
        {
            List <Teacher> TeacherList = TeacherDB.TeacherLoad();
            List <Classes> ClassList   = ClassesDB.ClassLoad();

            foreach (Classes classes in ClassList)
            {
                string className = classes.ClassID + " " + classes.ClassTitle + " " + classes.ClassTrack;
                checkedListBox1.Items.Add(className, false);
            }

            foreach (Teacher teacher in TeacherList)
            {
                comboBox1.Items.Add(teacher.TeacherID + " " + teacher.FirstName + " " + teacher.LastName);
            }
        }
コード例 #24
0
        // Фильтрация учеников.
        public ActionResult FilterPupils(int Class_ID, int to = 0, int from = 0)
        {
            StringBuilder expr = new StringBuilder();

            expr.Append("SELECT Pupils.Pupil_ID, Pupils.Name, Pupils.Surname, Pupils.Patronymic, Classes.Class_Name FROM Pupils, Marks, Types_Of_Work, Classes WHERE Pupils.Pupil_ID = Marks.Pupil_ID AND Marks.TypeOfWork_ID = Types_Of_Work.TypeOfWork_ID AND Pupils.Class_ID = Classes.Class_ID AND Marks.Mark IS NOT NULL GROUP BY Pupils.Pupil_ID, Pupils.Name, Pupils.Surname, Pupils.Patronymic, Classes.Class_Name ");

            if (Class_ID == 0 && to == 0 && from == 0)
            {
                expr.Append("");
            }
            else if (Class_ID != 0 && to == 0 && from == 0)
            {
                string className = ClassesDB.GetClassFullInf(Class_ID).Class_Name;
                expr.Append($"HAVING Classes.Class_Name = '{className}'");
            }
            else if (Class_ID != 0 && from != 0 && to == 0)
            {
                string className = ClassesDB.GetClassFullInf(Class_ID).Class_Name;
                expr.Append($"HAVING (CAST(CAST(SUM (Marks.Mark * Coefficient) AS NUMERIC) / SUM(Coefficient) AS NUMERIC(10,2))) >= {from} AND Classes.Class_Name = '{className}' ");
            }
            else if (Class_ID != 0 && from == 0 && to != 0)
            {
                string className = ClassesDB.GetClassFullInf(Class_ID).Class_Name;
                expr.Append($"HAVING (CAST(CAST(SUM (Marks.Mark * Coefficient) AS NUMERIC) / SUM(Coefficient) AS NUMERIC(10,2))) <= {to} AND Classes.Class_Name = '{className}' ");
            }
            else if (Class_ID != 0 && from != 0 && to != 0)
            {
                string className = ClassesDB.GetClassFullInf(Class_ID).Class_Name;
                expr.Append($"HAVING (CAST(CAST(SUM (Marks.Mark * Coefficient) AS NUMERIC) / SUM(Coefficient) AS NUMERIC(10,2))) >= {from} AND (CAST(CAST(SUM(Marks.Mark * Coefficient) AS NUMERIC) / SUM(Coefficient) AS NUMERIC(10, 2))) <= {to} AND Classes.Class_Name = '{className}' ");
            }
            else if (Class_ID == 0 && from != 0 && to == 0)
            {
                expr.Append($"HAVING (CAST(CAST(SUM (Marks.Mark * Coefficient) AS NUMERIC) / SUM(Coefficient) AS NUMERIC(10,2))) >= {from}");
            }
            else if (Class_ID == 0 && from == 0 && to != 0)
            {
                expr.Append($"HAVING (CAST(CAST(SUM (Marks.Mark * Coefficient) AS NUMERIC) / SUM(Coefficient) AS NUMERIC(10,2))) <= {to}");
            }
            else if (Class_ID == 0 && from != 0 && to != 0)
            {
                expr.Append($"HAVING (CAST(CAST(SUM (Marks.Mark * Coefficient) AS NUMERIC) / SUM(Coefficient) AS NUMERIC(10,2))) >= {from} AND(CAST(CAST(SUM(Marks.Mark * Coefficient) AS NUMERIC) / SUM(Coefficient) AS NUMERIC(10, 2))) <= {to}");
            }

            List <PupilWithClass> pupils = PupilsDB.GetFilterPupils(expr.ToString());

            return(PartialView(pupils));
        }
コード例 #25
0
ファイル: SchedulePlan.cs プロジェクト: pjk1413/Roll-Call
        private void SchedulePlan_Load(object sender, EventArgs e)
        {
            List <Classes> ClassList   = ClassesDB.ClassLoad();
            List <Teacher> TeacherList = TeacherDB.TeacherLoad();
            List <Student> StudentList = StudentDB.StudentLoad();

            txtClasses.Text   = ClassList.Count.ToString();
            txtStudents.Text  = StudentList.Count.ToString();
            txtTeachers.Text  = TeacherList.Count.ToString();
            txtErrors.Text    = "3";
            txtClassSize.Text = "10"; //Needs to be set based on a formula (Total Teachers, Periods, Classes and Students)

            int    classSize      = Convert.ToInt32(txtClassSize.Text);
            double classesPerHour = StudentList.Count / classSize;

            txtClassesPerHour.Text = classesPerHour.ToString();
        }
コード例 #26
0
        private void btnModify_Click(object sender, EventArgs e)
        {
            if (lblSelected.Text != "")
            {
                Classes newClass = new Classes();
                newClass.ClassID    = Convert.ToInt32(lblSelected.Text);
                newClass.ClassTitle = dataGridView1.CurrentRow.Cells[1].Value.ToString();
                newClass.ClassTrack = dataGridView1.CurrentRow.Cells[2].Value.ToString();

                ClassesDB.TempSave(newClass);

                ClassEdit newForm = new ClassEdit();
                newForm.Show();
            }
            else
            {
                MessageBox.Show("Please select a class to modify");
            }
        }
コード例 #27
0
        public ActionResult SaveClassInformation(ClassWithManagment c, int action = 0, int cancel = 0)
        {
            if (action == 0)
            {
                return(RedirectToActionPermanent("ClassFullInf", "Teacher", new { id = c.Class_ID }));
            }
            else
            {
                ClassesDB.UpdateClass(c.Class_ID, c.Formation_Date, c.Class_Name);

                ClassWithManagment cl = ClassesDB.GetClassFullInf(c.Class_ID);
                if (cl.Teacher_ID != c.Teacher_ID)
                {
                    ClassesDB.FinishClassManagment(c.ClassManagment_ID);
                    ClassesDB.AddClassManagment(c.Class_ID, c.Teacher_ID);
                }

                return(RedirectToActionPermanent("ClassFullInf", "Teacher", new { id = c.Class_ID }));
            }
        }
コード例 #28
0
ファイル: AssignClasses.cs プロジェクト: pjk1413/Roll-Call
        private void btnSave_Click(object sender, EventArgs e) //Needs validation
        {
            if (true)                                          //Validate everything
            {
                List <int>     ClassList     = new List <int>();
                List <Classes> ClassListSave = new List <Classes>();

                //Retrieves class data and populates list
                foreach (object classData in checkedListBox1.CheckedItems)
                {
                    string[] classInfo = classData.ToString().Split(' ');

                    Classes newClass = ClassesDB.ClassFind(Convert.ToInt32(classInfo[0]));
                    ClassListSave.Add(newClass);
                    ClassList.Add(newClass.ClassID);
                }

                //Find teacher and add data into teacher
                string[] teacherID = comboBox1.Text.Split(' ');

                Teacher newTeacher = TeacherDB.TeacherFind(Convert.ToInt32(teacherID[0]));
                newTeacher.ClassID = ClassList;

                foreach (Classes classes in ClassListSave)
                {
                    classes.TeacherID.Add(newTeacher.TeacherID);

                    ClassesDB.ClassDelete(classes);
                    ClassesDB.ClassSave(classes);
                }

                TeacherDB.TeacherDelete(newTeacher);
                TeacherDB.TeacherSave(newTeacher);
            }
            else
            {
                MessageBox.Show("Please select the correct number of classes or select a different teacher");
            }

            this.Close();
        }
コード例 #29
0
        private void AddClassesStudent_Load(object sender, EventArgs e)
        {
            List <Student> StudentList = StudentDB.StudentLoad();

            foreach (Student student in StudentList)
            {
                string entry = student.StudentID + " " + student.FirstName + " " + student.LastName + " " + student.Grade;
                comboBox1.Items.Add(entry);
            }

            Student newStudent = StudentDB.TempLoad();

            label2.Text   = newStudent.StudentID.ToString();
            textBox1.Text = newStudent.FirstName;
            textBox2.Text = newStudent.LastName;

            newStudent    = StudentDB.StudentFind(Convert.ToInt32(label2.Text));
            txtGrade.Text = newStudent.Grade.ToString();

            List <Classes> ClassList = ClassesDB.ClassLoad();

            foreach (Classes classes in ClassList)
            {
                checkedListBox1.Items.Add(classes.ClassID + " " + classes.ClassTitle + " " + classes.ClassTrack);
            }
            if (newStudent.ClassID != null)
            {
                for (int i = 0; i < checkedListBox1.Items.Count; i++)
                {
                    foreach (int classid in newStudent.ClassID)
                    {
                        string[] id = checkedListBox1.Items[i].ToString().Split(' ');
                        if (classid == Convert.ToInt32(id[0]))
                        {
                            checkedListBox1.SetItemChecked(i, true);
                        }
                    }
                }
            }
        }
コード例 #30
0
        //Save all classes to student
        private void button1_Click(object sender, EventArgs e)
        {
            Student    student = StudentDB.StudentFind(Convert.ToInt32(label2.Text));
            List <int> ClassId = new List <int>();

            foreach (object classid in checkedListBox1.CheckedItems)
            {
                string[] id = classid.ToString().Split(' ');

                ClassId.Add(Convert.ToInt32(id[0]));
                Classes    classes   = ClassesDB.ClassFind(Convert.ToInt32(id[0]));
                List <int> studentID = new List <int>();
                studentID.Add(classes.ClassID);

                ClassesDB.ClassDelete(classes);
                ClassesDB.ClassSave(classes);
            }

            student.ClassID = ClassId;
            StudentDB.StudentDelete(student);
            StudentDB.StudentSave(student);
        }