Public Class PROG_1_Stringfellow Structure CourseData Dim courSec As String Dim instructor As String Dim roomNum As String Dim courCap As Integer Dim currEnr As Integer End Structure Dim Courses() As CourseData Private Sub PROG_1_Stringfellow_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim lines() As String = IO.File.ReadAllLines("Courses.txt") Dim n As Integer = lines.Count - 1 ReDim Courses(n) Dim line As String Dim data() As String For i As Integer = 0 To n line = lines(i) data = line.Split(","c) Courses(i).courSec = data(0) Courses(i).instructor = data(1) Courses(i).roomNum = data(2) Courses(i).courCap = CInt(data(3)) Courses(i).currEnr = CInt(data(4)) Dim query = From course In Courses Order By course.courSec Ascending Select course.courSec, course.instructor, course.roomNum, course.courCap, course.currEnr Distinct dgvCourseData.DataSource = query.ToList dgvCourseData.RowHeadersVisible = False dgvCourseData.CurrentCell = Nothing dgvCourseData.SelectionMode = False Next End Sub Private Sub btnAllSec_Click(sender As Object, e As EventArgs) Handles btnAllSec.Click Dim allSec = From course In Courses Order By course.courSec Ascending Select course.courSec, course.instructor, course.roomNum, course.currEnr Distinct dgvCourseData.DataSource = allSec.ToList dgvCourseData.RowHeadersVisible = False dgvCourseData.CurrentCell = Nothing dgvCourseData.SelectionMode = False
End Sub
Private Sub btnAvaSec_Click(sender As Object, e As EventArgs) Handles btnAvaSec.Click
Dim avaSec = From course In Courses
Let spotsAvail = course.courCap - course.currEnr
Where spotsAvail > 0
Order By spotsAvail Descending, course.courSec Ascending
Select course.courSec, course.instructor, course.roomNum, spotsAvail
Distinct
dgvCourseData.DataSource = avaSec.ToList
dgvCourseData.RowHeadersVisible = False
dgvCourseData.CurrentCell = Nothing
dgvCourseData.SelectionMode = False
End Sub
Private Sub btnTeacherR_Click(sender As Object, e As EventArgs) Handles btnTeacherR.Click
Dim input = InputBox("Enter Instructor's last name", "Teacher report")
Dim InstructReport = From course In Courses
Let parts = course.instructor.Split(" "c)
Where parts(1) = input
Order By course.courSec Ascending
Select course.courSec, course.roomNum, course.currEnr
Distinct
If InstructReport.Count = 0 Then
MessageBox.Show("No results- invalid instuctor last name")
End If
dgvCourseData.DataSource = InstructReport.ToList
dgvCourseData.RowHeadersVisible = False
dgvCourseData.CurrentCell = Nothing
dgvCourseData.SelectionMode = False
End Sub
Private Sub btnCourseL_Click(sender As Object, e As EventArgs) Handles btnCourseL.Click
Dim courseLst = From course In Courses
Let parts = course.courSec.Split(" "c)
Where
End Sub
Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click
Me.Close()
End Sub
End Class