Beispiel #1
0
        public static void DeleteSubject(string subjectName)
        {
            /*
             * Deletes the specified subject and groups
             * with that subject, and those groups linked with staff.
             */
            int        subjectId = GetSubjectIdByName(subjectName);
            SqlCommand comm      = new SqlCommand("SELECT GroupId FROM Groups WHERE SubjectId = @SubjectId");

            comm.Parameters.AddWithValue("@SubjectId", subjectId);
            DataTable    dt            = SqlTools.GetTable(comm);
            SqlCommand   deleteCommand = new SqlCommand();
            SqlParameter groupId       = new SqlParameter("@GroupId", "");

            deleteCommand.Parameters.Add(groupId);
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                deleteCommand.CommandText = "DELETE FROM StaffGroupsLink WHERE GroupId = @GroupId";
                groupId.Value             = (int)dt.Rows[i]["GroupId"];
                SqlTools.ExecuteNonQuery(deleteCommand);
            }
            comm.CommandText = "DELETE FROM Groups WHERE SubjectId = @SubjectId";
            SqlTools.ExecuteNonQuery(comm);
            comm.CommandText = "DELETE FROM Subjects WHERE SubjectName = @SubjectName";
            comm.Parameters.AddWithValue("@SubjectName", subjectName);
            SqlTools.ExecuteNonQuery(comm);
            AdminForm.RefreshLists();
        }
Beispiel #2
0
        public static void AddNewSubject(string subjectName)
        {
            /*
             * Adds a new subject to the table.
             */
            SqlCommand comm = new SqlCommand("INSERT INTO Subjects (SubjectName) VALUES (@SubjectName)");

            comm.Parameters.AddWithValue("@SubjectName", subjectName);
            SqlTools.ExecuteNonQuery(comm);
            AdminForm.RefreshLists();
        }
Beispiel #3
0
        public static void DeleteStudent(string studentName)
        {
            /*
             * Deletes the student with the specified student name
             * from the students table and any links to it.
             */
            int        studentId = GetStudentTableId(studentName);
            SqlCommand comm      = new SqlCommand("DELETE FROM Students WHERE StudentId = @StudentId");

            comm.Parameters.AddWithValue("@StudentId", studentId);
            SqlTools.ExecuteNonQuery(comm);
            AdminForm.RefreshLists();
        }
Beispiel #4
0
        public static void DeleteStaffMember(string staffName)
        {
            /*
             * Delete staff member by specified staff name,
             * and group links with that staff member in.
             */
            int        staffId = Staff.GetStaffIdByName(staffName);
            SqlCommand comm    = new SqlCommand("DELETE FROM StaffGroupsLink WHERE StaffId = @StaffId");

            comm.Parameters.AddWithValue("@StaffId", staffId);
            SqlTools.ExecuteNonQuery(comm);
            comm.CommandText = "DELETE FROM Staff WHERE StaffName = @StaffName";
            comm.Parameters.AddWithValue("@StaffName", staffName);
            SqlTools.ExecuteNonQuery(comm);
            // Repopulate list.
            AdminForm.RefreshLists();
        }
Beispiel #5
0
        public static void DeleteGroup(string groupName)
        {
            /*
             * DeleteGroup deletes the given group from
             * the database.
             *
             * Arguments:
             * groupName (string): The name of the group to delete.
             */
            int groupId = GetGroupIdByName(groupName);
            // Delete all references to Group in StaffGroupsLink
            SqlCommand comm = new SqlCommand("DELETE FROM StaffGroupsLink WHERE GroupId = @GroupId");

            comm.Parameters.AddWithValue("@GroupId", groupId);
            SqlTools.ExecuteNonQuery(comm);
            // Delete from Groups table
            comm.CommandText = "DELETE FROM Groups WHERE GroupId = @GroupId";
            SqlTools.ExecuteNonQuery(comm);
            // Repopulate the list to view affected groups.
            AdminForm.RefreshLists();
        }
Beispiel #6
0
 private void SaveGroupButton_Click(object sender, EventArgs e)
 {
     /*
      * SaveButton executes the SQL query needed for inserting
      * a new Group and its related staff members.
      * newGroup defines whether a group is being edited or
      * a new group is being created.
      */
     if (!newGroup)
     {
         // Delete all cases of the group beforehand to avoid conflicts.
         SqlCommand comm = new SqlCommand("DELETE FROM StaffGroupsLink WHERE GroupId = @GroupId");
         comm.Parameters.AddWithValue("@GroupId", groupId);
         SqlTools.ExecuteNonQuery(comm);
         SqlParameter staffId = new SqlParameter("@StaffId", "");
         // Insert the new group-staff links with the selected staff
         comm.CommandText = "INSERT INTO StaffGroupsLink (GroupId, StaffId) VALUES (@GroupId, @StaffId)";
         comm.Parameters.Add(staffId);
         foreach (string o in staffList)
         {
             // Loop over each Staff ID in the list.
             staffId.Value = Staff.GetStaffIdByName(o);
             SqlTools.ExecuteNonQuery(comm);
         }
         // Update with the new subject if changed
         comm.CommandText = "UPDATE Groups SET SubjectId = @SubjectId WHERE GroupId = @GroupId";
         comm.Parameters.AddWithValue("@SubjectId", Subjects.GetSubjectIdByName(subjectsComboBox.SelectedItem.ToString()));
         SqlTools.ExecuteNonQuery(comm);
         // Update with the new Academic Year if changed
         comm.CommandText = "UPDATE Groups SET AcademicYearId = @AcademicYearId WHERE GroupId = @GroupId";
         comm.Parameters.AddWithValue("@AcademicYearId", Groups.GetYearIdByName(academicYearComboBox.SelectedItem.ToString()));
         SqlTools.ExecuteNonQuery(comm);
         // Repopulate the list with the new group.
         AdminForm.RefreshLists();
         Close();
     }
     else
     {
         // New group
         if (groupNameTextBox.Text != "" && academicYearComboBox.SelectedIndex != -1 && subjectsComboBox.SelectedIndex != -1 && lecturerBox.Items.Count != 0)
         {
             // Insert the parameters into the query.
             SqlCommand comm = new SqlCommand("INSERT INTO Groups (GroupName, SubjectId, AcademicYearId) VALUES (@GroupName, @SubjectId, @AcademicYearId)");
             comm.Parameters.AddWithValue("@GroupName", groupNameTextBox.Text);
             comm.Parameters.AddWithValue("@SubjectId", Subjects.GetSubjectIdByName(subjectsComboBox.SelectedItem.ToString()));
             comm.Parameters.AddWithValue("@AcademicYearId", Groups.GetYearIdByName(academicYearComboBox.SelectedItem.ToString()));
             SqlTools.ExecuteNonQuery(comm);
             SqlParameter StaffId = new SqlParameter("@StaffId", "");
             comm.Parameters.Add(StaffId);
             // Get the newly created group ID
             comm.Parameters.AddWithValue("@GroupId", Groups.GetGroupIdByName(groupNameTextBox.Text));
             comm.CommandText = "INSERT INTO StaffGroupsLink (GroupId, StaffId) VALUES (@GroupId, @StaffId)";
             foreach (string o in lecturerBox.Items)
             {
                 // Loop through the staff ID's and add them
                 StaffId.Value = Staff.GetStaffIdByName(o);
                 SqlTools.ExecuteNonQuery(comm);
             }
             AdminForm.RefreshLists();
             Close();
         }
     }
 }