Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Imports System.IO
- Imports System.Net.Security
- Imports System.Net.WebRequestMethods
- Imports System.Runtime.Remoting
- Imports System.Windows.Forms.LinkLabel
- Imports File = System.IO.File
- Public Class mytimetable
- Private Sub myStaff_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- StartPosition = FormStartPosition.CenterScreen
- fillGrid(dgv_timetable, fileLoc_timetable)
- ' Sets the colours of the items
- txt_timetableID.BackColor = gray
- DTP_timetableDate.BackColor = gray
- txt_shiftID1.BackColor = gray
- txt_shiftID2.BackColor = gray
- txt_shiftID3.BackColor = gray
- txt_shiftID4.BackColor = gray
- txt_shiftID5.BackColor = gray
- txt_staffID1.BackColor = gray
- txt_staffID2.BackColor = gray
- txt_staffID3.BackColor = gray
- txt_staffID4.BackColor = gray
- txt_staffID5.BackColor = gray
- txt_staffname1.BackColor = gray
- txt_staffname2.BackColor = gray
- txt_staffname3.BackColor = gray
- txt_staffname4.BackColor = gray
- txt_staffname5.BackColor = gray
- txt_start1.BackColor = gray
- txt_start2.BackColor = gray
- txt_start3.BackColor = gray
- txt_start4.BackColor = gray
- txt_start5.BackColor = gray
- txt_end1.BackColor = gray
- txt_end2.BackColor = gray
- txt_end3.BackColor = gray
- txt_end4.BackColor = gray
- txt_end5.BackColor = gray
- End Sub
- Private Sub fillText(ByVal rowIndex As Integer)
- txt_timetableID.Text = dgv_timetable.Rows(rowIndex).Cells(0).Value
- If Not dgv_timetable.Rows(rowIndex).Cells(1).Value = DateTime.MinValue Then
- ' avoids crashes by not putting empty date into DateTimePicker
- DTP_timetableDate.Value = dgv_timetable.Rows(rowIndex).Cells(1).Value
- End If
- ' Fills the text boxes
- txt_shiftID1.Text = dgv_timetable.Rows(rowIndex).Cells(2).Value
- txt_shiftID2.Text = dgv_timetable.Rows(rowIndex).Cells(3).Value
- txt_shiftID3.Text = dgv_timetable.Rows(rowIndex).Cells(4).Value
- txt_shiftID4.Text = dgv_timetable.Rows(rowIndex).Cells(5).Value
- txt_shiftID5.Text = dgv_timetable.Rows(rowIndex).Cells(6).Value
- txt_staffID1.Text = FindField(fileLoc_Shift, txt_shiftID1.Text, 2)
- txt_staffID2.Text = FindField(fileLoc_Shift, txt_shiftID2.Text, 2)
- txt_staffID3.Text = FindField(fileLoc_Shift, txt_shiftID3.Text, 2)
- txt_staffID4.Text = FindField(fileLoc_Shift, txt_shiftID4.Text, 2)
- txt_staffID5.Text = FindField(fileLoc_Shift, txt_shiftID5.Text, 2)
- txt_staffname1.Text = Decryption(FindField(fileLoc_Staff, txt_staffID1.Text, 1))
- txt_staffname2.Text = Decryption(FindField(fileLoc_Staff, txt_staffID2.Text, 1))
- txt_staffname3.Text = Decryption(FindField(fileLoc_Staff, txt_staffID3.Text, 1))
- txt_staffname4.Text = Decryption(FindField(fileLoc_Staff, txt_staffID4.Text, 1))
- txt_staffname5.Text = Decryption(FindField(fileLoc_Staff, txt_staffID5.Text, 1))
- txt_start1.Text = FindField(fileLoc_Shift, txt_shiftID1.Text, 3)
- txt_start2.Text = FindField(fileLoc_Shift, txt_shiftID2.Text, 3)
- txt_start3.Text = FindField(fileLoc_Shift, txt_shiftID3.Text, 3)
- txt_start4.Text = FindField(fileLoc_Shift, txt_shiftID4.Text, 3)
- txt_start5.Text = FindField(fileLoc_Shift, txt_shiftID5.Text, 3)
- txt_end1.Text = FindField(fileLoc_Shift, txt_shiftID1.Text, 4)
- txt_end2.Text = FindField(fileLoc_Shift, txt_shiftID2.Text, 4)
- txt_end3.Text = FindField(fileLoc_Shift, txt_shiftID3.Text, 4)
- txt_end4.Text = FindField(fileLoc_Shift, txt_shiftID4.Text, 4)
- txt_end5.Text = FindField(fileLoc_Shift, txt_shiftID5.Text, 4)
- End Sub
- Private Sub clearText()
- ' Clears text boxes
- txt_timetableID.Text = ""
- DTP_timetableDate.CustomFormat = " "
- txt_shiftID1.Text = ""
- txt_shiftID2.Text = ""
- txt_shiftID3.Text = ""
- txt_shiftID4.Text = ""
- txt_shiftID5.Text = ""
- txt_staffID1.Text = ""
- txt_staffID2.Text = ""
- txt_staffID3.Text = ""
- txt_staffID4.Text = ""
- txt_staffID5.Text = ""
- txt_staffname1.Text = ""
- txt_staffname2.Text = ""
- txt_staffname3.Text = ""
- txt_staffname4.Text = ""
- txt_staffname5.Text = ""
- txt_start1.Text = ""
- txt_start2.Text = ""
- txt_start3.Text = ""
- txt_start4.Text = ""
- txt_start5.Text = ""
- txt_end1.Text = ""
- txt_end2.Text = ""
- txt_end3.Text = ""
- txt_end4.Text = ""
- txt_end5.Text = ""
- End Sub
- 'Navigation
- Private dgvNavigator As New DataGridViewNavigator()
- Private Sub btn_first_Click(sender As Object, e As EventArgs) Handles btn_first.Click
- dgvNavigator.SelectFirst(dgv_timetable)
- fillText(dgvNavigator.CurrentIndex)
- End Sub
- Private Sub btn_previous_Click(sender As Object, e As EventArgs) Handles btn_previous.Click
- dgvNavigator.SelectPrevious(dgv_timetable)
- fillText(dgvNavigator.CurrentIndex)
- End Sub
- Private Sub btn_next_Click(sender As Object, e As EventArgs) Handles btn_next.Click
- dgvNavigator.SelectNext(dgv_timetable)
- fillText(dgvNavigator.CurrentIndex)
- End Sub
- Private Sub btn_last_Click(sender As Object, e As EventArgs) Handles btn_last.Click
- dgvNavigator.SelectLast(dgv_timetable)
- fillText(dgvNavigator.CurrentIndex)
- End Sub
- '----------------------------------------------------------------------------------------------'
- Private Sub btn_add_Click(sender As Object, e As EventArgs) Handles btn_add.Click
- clearText()
- Dim newID As Integer = AddRecord(fileLoc_timetable)
- txt_timetableID.Text = newID
- Dim newshiftID As Integer = AddRecord(fileLoc_Shift)
- txt_shiftID1.Text = newshiftID
- txt_shiftID2.Text = newshiftID + 1
- txt_shiftID3.Text = newshiftID + 2
- txt_shiftID4.Text = newshiftID + 3
- txt_shiftID5.Text = newshiftID + 4
- End Sub
- Private Sub btn_save_Click(sender As Object, e As EventArgs) Handles btn_save.Click
- If Check() = False Then
- Return
- End If
- Dim timetableID As String = txt_timetableID.Text
- Dim newShift1 As String = txt_shiftID1.Text
- Dim newShift2 As String = txt_shiftID2.Text
- Dim newShift3 As String = txt_shiftID3.Text
- Dim newShift4 As String = txt_shiftID4.Text
- Dim newShift5 As String = txt_shiftID5.Text
- Dim StaffID1 As String = txt_staffID1.Text
- Dim StaffID2 As String = txt_staffID2.Text
- Dim StaffID3 As String = txt_staffID3.Text
- Dim StaffID4 As String = txt_staffID4.Text
- Dim StaffID5 As String = txt_staffID5.Text
- Dim shiftID1 As String = shiftCreate(newShift1, timetableID, StaffID1, txt_start1.Text, txt_end1.Text)
- Dim shiftID2 As String = shiftCreate(newShift2, timetableID, StaffID2, txt_start2.Text, txt_end2.Text)
- Dim shiftID3 As String = shiftCreate(newShift3, timetableID, StaffID3, txt_start3.Text, txt_end3.Text)
- Dim shiftID4 As String = shiftCreate(newShift4, timetableID, StaffID4, txt_start4.Text, txt_end4.Text)
- Dim shiftID5 As String = shiftCreate(newShift5, timetableID, StaffID5, txt_start5.Text, txt_end5.Text)
- If UniqueCheck(timetableID, fileLoc_timetable) Then
- Dim newtimetable As String = txt_timetableID.Text & "," & DTP_timetableDate.Value.Date & "," & newShift1 & "," & newShift2 & "," & newShift3 & "," & newShift4 & "," & newShift5
- SaveRecord(fileLoc_timetable, newtimetable)
- fillGrid(dgv_timetable, fileLoc_timetable)
- Else
- MsgBox("ID is not unique.")
- End If
- End Sub
- Private Function Check()
- If txt_timetableID.Text = "" Then
- MsgBox("please enter an timetable ID")
- Return False
- End If
- If IntCheck(txt_timetableID.Text) Then
- Else
- Return False
- End If
- If Not (IntCheck(txt_shiftID1.Text) AndAlso IntCheck(txt_shiftID2.Text) AndAlso IntCheck(txt_shiftID3.Text) AndAlso IntCheck(txt_shiftID4.Text) AndAlso IntCheck(txt_shiftID5.Text)) Then
- MsgBox("Please enter valid Shift IDs for all shifts")
- Return False
- End If
- Return True
- End Function
- Private Function shiftCreate(ByVal shiftID As String, ByVal timetableID As String, Optional staffID As String = "", Optional ShiftStart As String = "", Optional ShiftEnd As String = "")
- If shiftCheck(shiftID, timetableID, staffID, ShiftStart, ShiftEnd) = False Then
- Return False
- End If
- Dim newShift As String = shiftID & "," & timetableID & "," & staffID & "," & ShiftStart & "," & ShiftEnd
- SaveRecord(fileLoc_Shift, newShift)
- Return newShift
- End Function
- Private Function shiftCheck(ByVal shiftID As String, ByVal timetableID As String, Optional staffID As String = "", Optional ShiftStart As String = "", Optional ShiftEnd As String = "")
- If Not IntCheck(shiftID) Then
- Return False
- End If
- If Not IntCheck(timetableID) Then
- Return False
- End If
- If Not staffID = "" Then
- BinSearch(staffID, fileLoc_Staff, 0)
- End If
- If Not ShiftStart = "" AndAlso Not ShiftEnd = "" Then
- Dim partStart() As String = ShiftStart.Split(":")
- Dim partEnd() As String = ShiftEnd.Split(":")
- IntCheck(partStart(0))
- IntCheck(partStart(1))
- IntCheck(partEnd(0))
- IntCheck(partEnd(1))
- Dim hourStart As Integer = CInt(partStart(0))
- Dim minuteStart As Integer = CInt(partStart(1))
- If hourStart < 0 Or hourStart > 24 Then
- MsgBox("invalid Hour")
- Return False
- End If
- If minuteStart < 0 Or minuteStart > 60 Then
- MsgBox("invalid minute")
- Return False
- End If
- Dim hourEnd As Integer = CInt(partEnd(0))
- Dim minuteEnd As Integer = CInt(partEnd(1))
- If hourEnd < 0 Or hourEnd > 24 Then
- MsgBox("invalid Hour")
- Return False
- End If
- If minuteEnd < 0 Or minuteEnd > 60 Then
- MsgBox("invalid minute")
- Return False
- End If
- If hourStart > hourEnd Then
- Return False
- End If
- If hourStart = hourEnd Then
- If minuteStart > minuteEnd Then
- Return False
- End If
- End If
- End If
- If Not staffID = "" Then
- If BinSearch(staffID, fileLoc_Staff, 0) = False Then
- Return False
- End If
- End If
- Return True
- End Function
- Private Sub btn_edit_Click(sender As Object, e As EventArgs) Handles btn_edit.Click
- If Check() = False Then
- Return
- End If
- Dim ID As Integer = txt_timetableID.Text
- Dim ServiceUse As Integer = FindField(fileLoc_timetable, txt_timetableID.Text, 8)
- Dim newValues As String = txt_timetableID.Text & "," & DTP_timetableDate.Value.Date & "," & txt_shiftID1.Text & "," & txt_shiftID2.Text & "," & txt_shiftID3.Text & "," & txt_shiftID4.Text & "," & txt_shiftID5.Text
- EditRecord(ID, newValues, fileLoc_timetable)
- fillGrid(dgv_timetable, fileLoc_timetable)
- Dim Shift1 As String = txt_shiftID1.Text
- Dim Shift2 As String = txt_shiftID2.Text
- Dim Shift3 As String = txt_shiftID3.Text
- Dim Shift4 As String = txt_shiftID4.Text
- Dim Shift5 As String = txt_shiftID5.Text
- Dim StaffID1 As String = txt_staffID1.Text
- Dim StaffID2 As String = txt_staffID2.Text
- Dim StaffID3 As String = txt_staffID3.Text
- Dim StaffID4 As String = txt_staffID4.Text
- Dim StaffID5 As String = txt_staffID5.Text
- shiftCheck(txt_shiftID1.Text, txt_timetableID.Text, StaffID1, txt_start1.Text, txt_end1.Text)
- Dim newShift1 As String = txt_shiftID1.Text & "," & txt_timetableID.Text & "," & StaffID1 & "," & txt_start1.Text & "," & txt_end1.Text
- EditRecord(txt_shiftID1.Text, newShift1, fileLoc_Shift)
- shiftCheck(txt_shiftID2.Text, txt_timetableID.Text, StaffID2, txt_start2.Text, txt_end2.Text)
- Dim newShift2 As String = txt_shiftID2.Text & "," & txt_timetableID.Text & "," & StaffID2 & "," & txt_start2.Text & "," & txt_end2.Text
- EditRecord(txt_shiftID2.Text, newShift2, fileLoc_Shift)
- shiftCheck(txt_shiftID3.Text, txt_timetableID.Text, StaffID3, txt_start3.Text, txt_end3.Text)
- Dim newShift3 As String = txt_shiftID3.Text & "," & txt_timetableID.Text & "," & StaffID3 & "," & txt_start3.Text & "," & txt_end3.Text
- EditRecord(txt_shiftID3.Text, newShift3, fileLoc_Shift)
- shiftCheck(txt_shiftID4.Text, txt_timetableID.Text, StaffID4, txt_start4.Text, txt_end4.Text)
- Dim newShift4 As String = txt_shiftID4.Text & "," & txt_timetableID.Text & "," & StaffID4 & "," & txt_start4.Text & "," & txt_end4.Text
- EditRecord(txt_shiftID4.Text, newShift4, fileLoc_Shift)
- shiftCheck(txt_shiftID5.Text, txt_timetableID.Text, StaffID5, txt_start5.Text, txt_end5.Text)
- Dim newShift5 As String = txt_shiftID5.Text & "," & txt_timetableID.Text & "," & StaffID5 & "," & txt_start5.Text & "," & txt_end5.Text
- EditRecord(txt_shiftID5.Text, newShift5, fileLoc_Shift)
- End Sub
- Private Sub btn_delete_Click(sender As Object, e As EventArgs) Handles btn_delete.Click
- If txt_timetableID.Text = "" Then
- Return
- End If
- Dim appID As Integer = txt_timetableID.Text
- DeleteRecord(dgv_timetable, fileLoc_timetable, appID)
- fillGrid(dgv_timetable, fileLoc_timetable)
- End Sub
- Private Sub btn_menu_Click(sender As Object, e As EventArgs) Handles btn_menu.Click
- Me.Visible = False
- myMenu.Visible = True
- End Sub
- ' Takes the when a box is clicked or ID is placed to put the staff name from the staff text file
- Private Sub txt_staffname1_Click(sender As Object, e As EventArgs) Handles txt_staffname1.Click
- txt_staffname1.Text = Decryption(FindField(fileLoc_Staff, txt_staffID1.Text, 1))
- End Sub
- Private Sub txt_staffname2_Click(sender As Object, e As EventArgs) Handles txt_staffname1.Click
- txt_staffname2.Text = Decryption(FindField(fileLoc_Staff, txt_staffID2.Text, 1))
- End Sub
- Private Sub txt_staffname3_Click(sender As Object, e As EventArgs) Handles txt_staffname1.Click
- txt_staffname3.Text = Decryption(FindField(fileLoc_Staff, txt_staffID3.Text, 1))
- End Sub
- Private Sub txt_staffname4_Click(sender As Object, e As EventArgs) Handles txt_staffname1.Click
- txt_staffname4.Text = Decryption(FindField(fileLoc_Staff, txt_staffID4.Text, 1))
- End Sub
- Private Sub txt_staffname5_Click(sender As Object, e As EventArgs) Handles txt_staffname1.Click
- txt_staffname5.Text = Decryption(FindField(fileLoc_Staff, txt_staffID5.Text, 1))
- End Sub
- Private Sub txt_staffID1_TextChanged(sender As Object, e As EventArgs) Handles txt_staffID1.TextChanged
- txt_staffname1.Text = Decryption(FindField(fileLoc_Staff, txt_staffID1.Text, 1))
- End Sub
- Private Sub txt_staffID2_TextChanged(sender As Object, e As EventArgs) Handles txt_staffID2.TextChanged
- txt_staffname2.Text = Decryption(FindField(fileLoc_Staff, txt_staffID2.Text, 1))
- End Sub
- Private Sub txt_staffID3_TextChanged(sender As Object, e As EventArgs) Handles txt_staffID3.TextChanged
- txt_staffname3.Text = Decryption(FindField(fileLoc_Staff, txt_staffID3.Text, 1))
- End Sub
- Private Sub txt_staffID4_TextChanged(sender As Object, e As EventArgs) Handles txt_staffID4.TextChanged
- txt_staffname4.Text = Decryption(FindField(fileLoc_Staff, txt_staffID4.Text, 1))
- End Sub
- Private Sub txt_staffID5_TextChanged(sender As Object, e As EventArgs) Handles txt_staffID5.TextChanged
- txt_staffname5.Text = Decryption(FindField(fileLoc_Staff, txt_staffID5.Text, 1))
- End Sub
- End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement