public stdMainpage(string username, userDatabase usrDB, courseDatabase crsDB) { // Store attributes InitializeComponent(); this.crsDB = crsDB; this.usrDB = usrDB; std = usrDB.getStudent(username); // Change texts welcome.Text += std.fname + " " + std.lname; gpa.Text += " " + std.GPA; credits.Text += " " + std.totalCredits; // Create all the tables createCrsLst(); createGradeHist(); createStdSch(); // Clear selections on tables gradeHist.ClearSelection(); stdSch.ClearSelection(); // Auto completion source foreach (course crs in crsDB.getCourseList()) { crsIDBox.AutoCompleteCustomSource.Add(crs.crsID); } }
public void removeStd(string username, ref courseDatabase crsDB) { student std = getStudent(username); // Increment the number of seats available for each course the student has registered for List <course> registeredCrsLst = std.registeredCrs; foreach (course registeredCrs in registeredCrsLst) { foreach (course crs in crsDB.getCourseList()) { if (registeredCrs.crsID == crs.crsID) { crs.disenrollUser(std); break; } } } // Remove the student from the advisees list of his advisor faculty advisor = getFaculty(std.advisor); advisor.removeAdvisee(username); // Remove the student from the database stdLst.Remove(std); }
public facMainpage(string username, userDatabase usrDB, courseDatabase crsDB) { InitializeComponent(); this.usrDB = usrDB; this.crsDB = crsDB; fac = usrDB.getFaculty(username); // Change texts welcome.Text += fac.fname + " " + fac.lname; // Create all the tables createCrsLst(); createFacSch(); createAdviseeLst(); // Auto complete foreach (course crs in crsDB.getCourseList()) { crsIDBox.AutoCompleteCustomSource.Add(crs.crsID); } // Clear selection of tables facSch.ClearSelection(); adviseeLst.ClearSelection(); }
public void dropCrsFromStd(string courseID, ref courseDatabase courseDB, student currentStudent) { foreach (course crs in courseDB.getCourseList()) { if (courseID.Trim() == crs.crsID.Trim()) { currentStudent.dropCrsFromNext(crs); crs.disenrollUser(currentStudent); return; } } }
// Change the database //---------------------------------------- public void addCrsToStd(string crsID, string nextSemester, ref courseDatabase crsDB, student currentStudent) { foreach (course crs in crsDB.getCourseList()) { if (crsID.Trim() == crs.crsID.Trim()) { course selectedCourse = crs; selectedCourse.enrollUser(currentStudent); course courseAdding = selectedCourse; currentStudent.addClassToNext(courseAdding); return; } } }
public admCreateCrs(courseDatabase crsDB, userDatabase usrDB) { InitializeComponent(); this.crsDB = crsDB; this.usrDB = usrDB; foreach (course crs in crsDB.getCourseList()) { crsIDBox.AutoCompleteCustomSource.Add(crs.crsID); } foreach (faculty fac in usrDB.getFacultyList()) { facDropDown.Items.Add(fac.fname + " " + fac.lname); facDropDown.AutoCompleteCustomSource.Add(fac.fname + " " + fac.lname); } }
// Functions for all the tables private void createCrsLst() { DataTable table = new DataTable(); table.Columns.Add("Course ID", typeof(string)); table.Columns.Add("Title", typeof(string)); table.Columns.Add("Instructor", typeof(string)); table.Columns.Add("Credits", typeof(string)); table.Columns.Add("Seats", typeof(string)); table.Columns.Add("Schedule", typeof(string)); foreach (course crs in crsDB.getCourseList()) { table.Rows.Add(crs.crsID, crs.title, crs.instructor, crs.credit, crs.seats + " / " + crs.maxSeats, crs.getBlocks()); } crsLst.DataSource = table; crsLst.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; crsLst.DefaultCellStyle.WrapMode = DataGridViewTriState.True; int width = crsLst.Columns["Schedule"].GetPreferredWidth(DataGridViewAutoSizeColumnMode.AllCells, true); crsLst.Columns["Schedule"].AutoSizeMode = DataGridViewAutoSizeColumnMode.None; crsLst.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCells; crsLst.Columns["Schedule"].Width = width; DataGridViewCheckBoxColumn btn = new DataGridViewCheckBoxColumn(); btn.ValueType = typeof(bool); crsLst.Columns.Insert(0, btn); crsLst.Columns[0].HeaderText = "Add"; crsLst.Columns[0].Name = "Add"; crsLst.ClearSelection(); foreach (DataGridViewColumn col in crsLst.Columns) { col.ReadOnly = true; } crsLst.Columns[0].ReadOnly = false; }
public void createCrsLst() { DataTable table = new DataTable(); table.Columns.Add("Course ID", typeof(string)); table.Columns.Add("Title", typeof(string)); table.Columns.Add("Instructor", typeof(string)); table.Columns.Add("Credits", typeof(string)); table.Columns.Add("Seats", typeof(string)); table.Columns.Add("Schedule", typeof(string)); crsLst.DataSource = table; foreach (course crs in crsDB.getCourseList()) { table.Rows.Add(crs.crsID, crs.title, crs.instructor, crs.credit, crs.seats + " / " + crs.maxSeats, crs.getBlocks()); } crsLst.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; crsLst.DefaultCellStyle.WrapMode = DataGridViewTriState.True; int width = crsLst.Columns["Schedule"].GetPreferredWidth(DataGridViewAutoSizeColumnMode.AllCells, true); crsLst.Columns["Schedule"].AutoSizeMode = DataGridViewAutoSizeColumnMode.None; crsLst.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCells; crsLst.Columns["Schedule"].Width = width; }
private void confirmClick(object sender, EventArgs e) { // Search for missing fields if (crsIDBox.Text == "" || titleBox.Text == "" || facDropDown.Text == "" || creditBox.Text == "" || seatBox.Text == "") { MessageBox.Show("Required fields missing.", "Invalid Input", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } // Check if there is any time specified if (!MA.Checked && !MB.Checked && !TA.Checked && !TB.Checked && !WA.Checked && !WB.Checked && !RA.Checked && !RB.Checked && !FA.Checked && !FB.Checked) { MessageBox.Show("Specify a time slot.", "Invalid Input", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } // Day duplicate over multiple time blocks if ((MA.Checked && MB.Checked) || (TA.Checked && TB.Checked) || (WA.Checked && WB.Checked) || (RA.Checked && RB.Checked) || (FA.Checked && FB.Checked)) { MessageBox.Show("Cannot have the same day over two slots", "Invalid Input", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } // Check the presence of starting and ending time. if (MA.Checked || TA.Checked || WA.Checked || RA.Checked || FA.Checked) { if (startingTimeA.Text == "" || endingTimeA.Text == "") { MessageBox.Show("Specify the starting and ending time.", "Invalid input", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } string crsID = crsIDBox.Text; // Search for duplicate course ID foreach (course crs in crsDB.getCourseList()) { if (crsID.Trim() == crs.crsID) { MessageBox.Show("The course ID is already taken.", "Duplicate", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } string title = titleBox.Text.Trim(); string instructor = facDropDown.Text.Trim(); faculty inst = usrDB.getFacultyList()[0]; foreach (faculty fac in usrDB.getFacultyList()) { if (fac.fname + " " + fac.lname == instructor) { inst = fac; break; } } string credits = creditBox.Text; try { if (Convert.ToSingle(credits) == 0) { MessageBox.Show("No credits given.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } catch { MessageBox.Show("Credits have to be a number.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } int seats = 0; try { seats = Convert.ToInt32(seatBox.Text); } catch { MessageBox.Show("Seats have to be a number.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } // Get the course time block int dd = 0; if (MA.Checked) { dd += 1; } if (TA.Checked) { dd += 2; } if (WA.Checked) { dd += 4; } if (RA.Checked) { dd += 8; } if (FA.Checked) { dd += 16; } string day = dd.ToString(); if (day.Length < 2) { day = "0" + day; } string timeBlockA = day + UF.utilities.encodeTime(startingTimeA.Text, endingTimeA.Text); if (MB.Checked || TB.Checked || WB.Checked || RB.Checked || FB.Checked) { // Get the course time block dd = 0; if (MB.Checked) { dd += 1; } if (TB.Checked) { dd += 2; } if (WB.Checked) { dd += 4; } if (RB.Checked) { dd += 8; } if (FB.Checked) { dd += 16; } day = dd.ToString(); if (day.Length < 2) { day = "0" + day; } string timeBlockB = day + UF.utilities.encodeTime(startingTimeB.Text, endingTimeB.Text); List <string> lst = new List <string>(); lst.Add(timeBlockA); lst.Add(timeBlockB); crs = new course(crsID, title, inst.username, credits, seats, 2, lst); } else { List <string> lst = new List <string>(); lst.Add(timeBlockA); crs = new course(crsID, title, inst.username, credits, seats, 1, lst); } string message; message = "Course ID : " + crs.crsID + "\n"; message += "Title : " + crs.title + "\n"; message += "Instructor : " + crs.instructor + "\n"; message += "Credits : " + crs.credit.ToString() + "\n"; message += "Seats : " + crs.seats.ToString() + "\n"; message += crs.getBlocks() + "\n"; message += "Are you sure?"; if (MessageBox.Show(message, "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No) { MessageBox.Show("Canceled the creation.", "Cancel", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { this.DialogResult = DialogResult.OK; Close(); } }