예제 #1
0
        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();
        }
예제 #2
0
        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();
                }
            }
        }
예제 #3
0
        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();
        }