private void cbEditSemester_SelectedIndexChanged(object sender, EventArgs e)
        {
            //updates buttons and links (will most likely enable)
            updateSemesterButtons();

            //get current semester id
            int currentSemesterId = semesterId[cbEditSemester.SelectedIndex];

            //dynamically populate semester information
            MySqlDataReader selectedSemester = Database.executeQuery("SELECT * FROM Semester WHERE SemesterID = '" + currentSemesterId + "';");

            //only one item should be returned
            if (selectedSemester.Read() == true)
            {
                ctrSemesterNum.Value      = selectedSemester.GetInt32(0);
                txtSemesterName.Text      = selectedSemester.GetString(1);
                dtSemesterStartDate.Value = selectedSemester.GetDateTime(2);
                dtSemesterEndDate.Value   = selectedSemester.GetDateTime(3);
            }

            selectedSemester.Close();
        }
Esempio n. 2
0
        //add list of different assignment types to the given combo box using different optional filters
        public static void addTypes(ComboBox cbTypes, string classID, bool showCurrentClasses, string profID)
        {
            //make sure to remove all existing items
            cbTypes.Items.Clear();

            //build where clause based on whether the filters are specified
            string whereClause = "";

            if (showCurrentClasses == true && classID == null)
            {
                if (profID == null)
                {
                    whereClause = "WHERE ClassID IN (SELECT ClassID FROM Class WHERE FinalLetterGrade IS NULL)";
                }
                else
                {
                    whereClause = "WHERE ClassID IN (SELECT ClassID FROM Class NATURAL JOIN ClassProfessor WHERE FinalLetterGrade IS NULL AND ProfId = '" + profID + "')";
                }
            }
            else if (classID != null)
            {
                whereClause = "WHERE ClassID = '" + classID + "'";
            }


            //dynamically add class grade categories to combo box
            MySqlDataReader types = Database.executeQuery("SELECT Type FROM GradeCategory " + whereClause + " ORDER BY Type;");

            while (types.Read() == true)
            {
                if (cbTypes.Items.Contains(types.GetString(0)) == false)
                {
                    cbTypes.Items.Add(types.GetString(0));
                }
            }
            types.Close();
        }
Esempio n. 3
0
        private void cbClass_SelectedIndexChanged(object sender, EventArgs e)
        {
            txtDesiredPercentage.ResetText();
            txtCurrentGrade.ResetText();

            //get current grade in class
            object result = Database.executeScalarQuery("SELECT CurrentGrade FROM Class WHERE ClassID = '" + classId[cbClass.SelectedIndex] + "';");
            double currentGrade;

            if (Double.TryParse(result.ToString(), out currentGrade) == true)
            {
                txtCurrentGrade.Text = currentGrade.ToString("F4");
            }

            //try to get percentage that final is worth
            result = Database.executeScalarQuery("SELECT Percentage FROM GradeCategory WHERE (Type LIKE '%Final%') AND ClassID = '" + classId[cbClass.SelectedIndex] + "';");
            txtFinalExamPercentage.ResetText();

            //get final exam percentage worth
            txtFinalExamPercentage.Text = result + "";


            cbFinalLetterGrade.Items.Clear();

            //populate the desired grade percentage based on a selected latter grade
            MySqlDataReader grades = Database.executeQuery("SELECT GradeLetter, BottomPercentage FROM GradingScaleValue WHERE ClassID = '" + classId[cbClass.SelectedIndex] + "' ORDER BY BottomPercentage DESC");

            while (grades.Read() == true)
            {
                gradeLetter.Add(grades.GetString(0));
                cbFinalLetterGrade.Items.Add(grades.GetString(0));
                gradePerc.Add(grades.GetDouble(1));
            }
            grades.Close();
            cbFinalLetterGrade.Enabled = true;
        }
Esempio n. 4
0
        //method for when the selected class changes
        private void cbEditClass_SelectedIndexChanged(object sender, EventArgs e)
        {
            //updates buttons and links (will most likely enable)
            updateClassButtons();

            //get current class id
            currentClassId = classId[cbEditClass.SelectedIndex];

            //database supports multiple professors but this application only supports a single professor per class
            SQLiteDataReader classProf = Database.executeQuery("SELECT ProfID FROM ClassProfessor WHERE ClassID = '" + currentClassId + "';");

            //read single result
            if (classProf.Read() == true)
            {
                int classProfId = classProf.GetInt32(0);
                cbClassProfessor.SelectedIndex = profId.IndexOf(classProfId);
                classHasProf = true;
            }
            else
            {
                classHasProf = false;
                cbClassProfessor.SelectedIndex = -1;
            }
            classProf.Close();

            //dynamically populate class information
            SQLiteDataReader selectedClass = Database.executeQuery("SELECT * FROM Class WHERE ClassID = '" + currentClassId + "';");

            //only one item should be returned
            if (selectedClass.Read() == true)
            {
                //populate form with information from database
                txtClassName.Text         = selectedClass.GetString(1);
                ctrCredits.Value          = selectedClass.GetDecimal(2);
                chkClassMonday.Checked    = Convert.ToBoolean(selectedClass.GetString(3));
                chkClassTuesday.Checked   = Convert.ToBoolean(selectedClass.GetString(4));
                chkClassWednesday.Checked = Convert.ToBoolean(selectedClass.GetString(5));
                chkClassThursday.Checked  = Convert.ToBoolean(selectedClass.GetString(6));
                chkClassFriday.Checked    = Convert.ToBoolean(selectedClass.GetString(7));

                //load semester if not null
                if (selectedClass.IsDBNull(8) == false)
                {
                    cbSemester.SelectedIndex = semesterId.IndexOf(selectedClass.GetInt32(8));
                }
                else
                {
                    cbSemester.SelectedIndex = -1;
                }

                dtClassStartTime.Value = selectedClass.GetDateTime(9);
                dtClassEndTime.Value   = selectedClass.GetDateTime(10);

                //class location
                txtClassLocation.Text = selectedClass.GetValue(11).ToString();

                //dynamically add letter grades to drop down list
                SQLiteDataReader letterGrades = Database.executeQuery("SELECT GradeLetter FROM GradingScaleValue WHERE ClassID ='" + currentClassId + "' ORDER BY BottomPercentage DESC;");
                cbFinalLetterGrade.Items.Clear();
                while (letterGrades.Read() == true)
                {
                    cbFinalLetterGrade.Items.Add(letterGrades.GetString(0));
                }
                letterGrades.Close();

                //determine whether the final letter grade is null (if it is, assume the class
                //  is not finished)
                if (selectedClass.IsDBNull(14) == false)
                {
                    chkClassFinished.Checked = true;
                    cbFinalLetterGrade.Text  = selectedClass.GetString(14);
                }
                else
                {
                    chkClassFinished.Checked         = false;
                    cbFinalLetterGrade.SelectedIndex = -1;
                }
            }
            selectedClass.Close();
        }
        public void loadEvent(int eventNum)
        {
            //dynamically get information about the selected event
            SQLiteDataReader events = Database.executeQuery("SELECT * FROM Event WHERE EventID = '" + eventNum + "';");

            //there should only be one event returned
            while (events.Read() == true)
            {
                //populate form with information retrieved from database
                txtEventTitle.Text       = events.GetString(1);
                txtEventDescription.Text = events.GetValue(2).ToString();
                txtLocation.Text         = events.GetValue(3).ToString();
                dtEventStartDate.Value   = events.GetDateTime(4);
                dtEventStartTime.Value   = events.GetDateTime(4);
                dtEventEndDate.Value     = events.GetDateTime(5);
                dtEventEndTime.Value     = events.GetDateTime(5);
                chkAllDayEvent.Checked   = Convert.ToBoolean(events.GetString(6));
                chkAllDayEvent_CheckedChanged(null, null);
            }
            events.Close();

            //query to get information if a graded assignment
            SQLiteDataReader graded = Database.executeQuery("SELECT * FROM GradedAssignment WHERE EventID = '"
                                                            + eventNum + "';");

            //clear the existing grade information
            txtEventGrade.ResetText();
            txtEventGradeTotalPoints.ResetText();

            //get the grade information from the database (there should only be one result row returned)
            if (graded.Read() == true)
            {
                chkGradedAssignment.Checked = true;
                chkGradedAssignment_CheckedChanged(null, null);

                //set the name and grade information for the event
                txtAssignmentName.Text        = graded.GetString(1);
                txtEventGrade.Text            = graded.GetValue(2).ToString();
                txtEventGradeTotalPoints.Text = graded.GetValue(3).ToString();

                //set the current class associated with the grade assignment
                cbEventClass.SelectedIndex = currentClassId.IndexOf(graded.GetInt32(4));

                //add possible types to choose from based on current class
                Util.addTypes(cbEventType, currentClassId[cbEventClass.SelectedIndex].ToString(), false, null);

                //set the current event type for the drop down list
                cbEventType.Text = graded.GetString(5);
            }
            else
            {
                //reset all parts of the graded assignment portion of the event
                chkGradedAssignment.Checked = false;
                chkGradedAssignment_CheckedChanged(null, null);
                txtAssignmentName.ResetText();
                cbEventClass.SelectedIndex = -1;
                cbEventType.SelectedIndex  = -1;
            }
            graded.Close();

            //set the selected event to the event with the given id (used if passing in event id
            //  into constructor when an event is double clicked)
            cbEvent.SelectedIndex = eventId.IndexOf(eventNum);

            //update save and delete buttons (will now be enabled since we have selected an event)
            updateButtons();
        }