private void button1_Click(object sender, EventArgs e) { linqtoregdbDataContext db = new linqtoregdbDataContext(); var queryNewCourseID = (from crs in db.courses where crs.courseName == courseName select crs.courseID).FirstOrDefault(); int numTimeBlocks = listBox1.Items.Count; for (int i = 0; i < numTimeBlocks; i++) { course_timeblock crstb = new course_timeblock { courseID = queryNewCourseID, timeblock = timeblocks[0] }; if (((from tbs in db.course_timeblocks where tbs.timeblock == timeblocks[0] && tbs.courseID == queryNewCourseID select tbs).FirstOrDefault() == null)) { db.course_timeblocks.InsertOnSubmit(crstb); } timeblocks.RemoveAt(0); listBox1.Items.RemoveAt(0); } try { db.SubmitChanges(); MessageBox.Show("Times updated successfully!"); } catch (Exception) { MessageBox.Show("Database error while updating times."); } this.Close(); }
private void button1_Click(object sender, EventArgs e) { linqtoregdbDataContext db = new linqtoregdbDataContext(); if (comboBox1.SelectedIndex == -1) { MessageBox.Show("Please select an instructor!"); } else if (maskedTextBox3.Text == "") { MessageBox.Show("Please enter a course name."); } else if (textBox2.Text == "") { MessageBox.Show("Please enter a course title."); } else if (listBox1.Items.Count == 0) { MessageBox.Show("Please add at least one time block."); } else if (!maskedTextBox3.MaskCompleted) { MessageBox.Show("Course name not in acceptable format."); } else { string courseNameToAdd = maskedTextBox3.Text; if (courseNameToAdd[0] == ' ') { courseNameToAdd = courseNameToAdd.Substring(1, courseNameToAdd.Length - 1); } try { var queryFacID = (from usr in db.users where usr.username == comboBox1.Text select usr.userID).FirstOrDefault(); course addCourse = new course { instructor = queryFacID, courseTitle = textBox2.Text, courseName = courseNameToAdd, numSeats = (int)numericUpDown2.Value, courseCredit = numericUpDown1.Value, semester = "S15" }; db.courses.InsertOnSubmit(addCourse); db.SubmitChanges(); var queryNewCourseID = (from crs in db.courses where crs.courseName == courseNameToAdd select crs.courseID).FirstOrDefault(); int numTimeBlocks = listBox1.Items.Count; for (int i = 0; i < numTimeBlocks; i++) { course_timeblock crstb = new course_timeblock { courseID = queryNewCourseID, timeblock = timeblocks[0] }; db.course_timeblocks.InsertOnSubmit(crstb); timeblocks.RemoveAt(0); listBox1.Items.RemoveAt(0); } db.SubmitChanges(); MessageBox.Show("Course added successfully!"); this.Close(); } catch (Exception) { MessageBox.Show("Error: Invalid course name."); } try { foreach (var c in listBox2.Items) { db.prereqs.InsertOnSubmit(new prereq { courseName = courseNameToAdd, prereqName = c.ToString() }); } db.SubmitChanges(); this.Close(); } catch (Exception) { MessageBox.Show("Error adding prerequisites. Course added successfully. Edit prerequisites in the Edit Courses menu."); this.Close(); } } }
private void AddCourses() { System.IO.StreamReader inFile = new System.IO.StreamReader(textBox1.Text); int lineNum = 0; int numInserted = 0; int tbsInserted = 0; string inLine; Regex reg = new Regex(@"[SF]\d{2}\ [A-Z]{2,3}\-\d{3}\-\d{2}\ {1,2}[a-zA-z ]{15}\ [a-zA-z ]{10}\ \d\.\d{2}\ \d{1,3}\ {1,3}\d(\ \d{5})+"); bool keepGoing = true; while (!inFile.EndOfStream && keepGoing) { inLine = inFile.ReadLine(); lineNum++; if (!reg.IsMatch(inLine)) { DialogResult result = MessageBox.Show("Error - inproper input format on line " + lineNum.ToString() + ". Continue?", "Error", MessageBoxButtons.YesNo); if (result == System.Windows.Forms.DialogResult.No) { keepGoing = false; } } else { linqtoregdbDataContext db = new linqtoregdbDataContext(); string semesterIn, courseNameIn, courseTitleIn, instructor; decimal courseCreditIn; int numSeatsIn, numTBs; List <int> timeBlocksIn = new List <int>(); semesterIn = inLine.Substring(0, 3); courseNameIn = TrimSpaces(inLine.Substring(4, 10)); courseTitleIn = TrimSpaces(inLine.Substring(15, 15)); instructor = TrimSpaces(inLine.Substring(31, 10)); courseCreditIn = Convert.ToDecimal(inLine.Substring(42, 4)); numSeatsIn = Convert.ToInt32(TrimSpaces(inLine.Substring(47, 3))); numTBs = (int)char.GetNumericValue(inLine[51]); for (int i = 0; i < numTBs; i++) { timeBlocksIn.Add(Convert.ToInt32(inLine.Substring(53 + i * 6, 5))); } var queryGetInstructorID = (from usr in db.users where usr.username == instructor select usr.userID).FirstOrDefault(); course newCourse = new course { semester = semesterIn, courseName = courseNameIn, courseTitle = courseTitleIn, instructor = queryGetInstructorID, courseCredit = courseCreditIn, numSeats = numSeatsIn }; try { db.courses.InsertOnSubmit(newCourse); db.SubmitChanges(); var queryGetCourseID = (from crs in db.courses where crs.courseName == courseNameIn select crs.courseID).FirstOrDefault(); foreach (var c in timeBlocksIn) { course_timeblock newCourseTimeblock = new course_timeblock { courseID = queryGetCourseID, timeblock = c }; db.course_timeblocks.InsertOnSubmit(newCourseTimeblock); tbsInserted++; } db.SubmitChanges(); numInserted++; } catch (Exception) { DialogResult result = MessageBox.Show("Error - invalid course insertion attempted. Skip user and continue?", "Error", MessageBoxButtons.YesNo); if (result == System.Windows.Forms.DialogResult.No) { keepGoing = false; } } } } MessageBox.Show(numInserted.ToString() + " courses with " + tbsInserted.ToString() + " total timeblocks inserted successfully."); inFile.Close(); }