Toshiba_Kanban_Issuance/Mounting Sequence/Forms/userForm.vb

339 lines
11 KiB
VB.net

Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.IO
Imports System.Text
Public Class userForm
Private cnstr = mainForm.cnstr
Private conn As New SqlConnection(cnstr)
Private myQuery As String = String.Empty
Private myCommand As SqlCommand
Private adapter As SqlDataAdapter = New SqlDataAdapter()
Private ds As New DataSet("Users")
Private i, limit As Integer
Private oldUserName As String = String.Empty
Private addMode, editMode As Integer
Private Sub users_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.MdiParent = mainForm
Control.CheckForIllegalCrossThreadCalls = False
Me.Top = 0
Me.Left = 0
fillDataSet()
disableControls()
moveFirst()
addMode = 0
editMode = 0
btn_find.Visible = False
End Sub
Private Sub enableControls()
txtUsername.Enabled = True
txtPassword.Enabled = True
txtPassword2.Enabled = True
txtEmployeeCode.Enabled = True
cmb_userType.Enabled = True
cbActive.Enabled = True
End Sub
Private Sub disableControls()
txtUsername.Enabled = False
txtPassword.Enabled = False
txtPassword2.Enabled = False
txtEmployeeCode.Enabled = False
cmb_userType.Enabled = False
cbActive.Enabled = False
End Sub
Private Sub clear()
txtUsername.Text = String.Empty
txtPassword.Text = String.Empty
txtPassword2.Text = String.Empty
cmb_userType.SelectedIndex = 0
cbActive.Checked = False
End Sub
Public Sub toNormalMode()
ts_new.Enabled = True
ts_edit.Enabled = True
ts_delete.Enabled = True
ts_find.Enabled = True
ts_revert.Enabled = False
ts_save.Enabled = False
disableControls()
End Sub
Public Sub toEditMode()
ts_new.Enabled = False
ts_edit.Enabled = False
ts_delete.Enabled = False
ts_find.Enabled = False
ts_revert.Enabled = True
ts_save.Enabled = True
enableControls()
End Sub
Public Sub toAddMode()
ts_new.Enabled = False
ts_edit.Enabled = False
ts_delete.Enabled = False
ts_find.Enabled = False
ts_revert.Enabled = True
ts_save.Enabled = True
enableControls()
End Sub
Public Sub toSearchMode()
ts_new.Enabled = False
ts_edit.Enabled = False
ts_delete.Enabled = False
ts_find.Enabled = True
ts_revert.Enabled = False
ts_save.Enabled = False
End Sub
Private Sub fillDataSet()
Dim conn As New SqlConnection(cnstr)
myQuery = "SELECT * FROM Users ORDER BY username"
myCommand = New SqlCommand(myQuery, conn)
Try
conn.Open()
adapter.SelectCommand = myCommand
ds.Clear()
adapter.Fill(ds)
i = 0
limit = ds.Tables(0).Rows.Count - 1
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
conn.Close()
conn.Dispose()
End Try
End Sub
Private Sub trace(ByVal username As String)
Dim j As Integer = 0
For j = 0 To ds.Tables(0).Rows.Count - 1
If ds.Tables(0).Rows(j).Item("username") = username Then
txtUsername.Text = ds.Tables(0).Rows(j).Item("username")
txtPassword.Text = ds.Tables(0).Rows(j).Item("password")
txtPassword2.Text = ds.Tables(0).Rows(j).Item("password")
txtEmployeeCode.Text = ds.Tables(0).Rows(j).Item("employeecode")
cmb_userType.SelectedIndex = cmb_userType.Items.IndexOf(ds.Tables(0).Rows(j).Item("authentication"))
If ds.Tables(0).Rows(j).Item("active") = 1 Then
cbActive.Checked = True
Else
cbActive.Checked = False
End If
i = j
Exit For
End If
Next
End Sub
Public Sub moveFirst()
If ds.Tables(0).Rows.Count <> 0 And limit > -1 Then
i = 0
txtUsername.Text = ds.Tables(0).Rows(i).Item("username")
oldUserName = ds.Tables(0).Rows(i).Item("username")
txtPassword.Text = ds.Tables(0).Rows(i).Item("password")
txtPassword2.Text = ds.Tables(0).Rows(i).Item("password")
txtEmployeeCode.Text = ds.Tables(0).Rows(i).Item("employeecode")
cmb_userType.SelectedItem = ds.Tables(0).Rows(i).Item("authentication")
If ds.Tables(0).Rows(i).Item("active") = 1 Then
cbActive.Checked = True
Else
cbActive.Checked = False
End If
Else
clear()
End If
End Sub
Public Sub moveNext()
If i < limit And limit > -1 Then
i = i + 1
txtUsername.Text = ds.Tables(0).Rows(i).Item("username")
oldUserName = ds.Tables(0).Rows(i).Item("username")
txtPassword.Text = ds.Tables(0).Rows(i).Item("password")
txtPassword2.Text = ds.Tables(0).Rows(i).Item("password")
txtEmployeeCode.Text = ds.Tables(0).Rows(i).Item("employeecode")
cmb_userType.SelectedItem = ds.Tables(0).Rows(i).Item("authentication")
If ds.Tables(0).Rows(i).Item("active") = 1 Then
cbActive.Checked = True
Else
cbActive.Checked = False
End If
End If
End Sub
Public Sub movePrevious()
If i <> 0 And limit > -1 Then
i = i - 1
txtUsername.Text = ds.Tables(0).Rows(i).Item("username")
oldUserName = ds.Tables(0).Rows(i).Item("username")
txtPassword.Text = ds.Tables(0).Rows(i).Item("password")
txtPassword2.Text = ds.Tables(0).Rows(i).Item("password")
txtEmployeeCode.Text = ds.Tables(0).Rows(i).Item("employeecode")
cmb_userType.SelectedItem = ds.Tables(0).Rows(i).Item("authentication")
If ds.Tables(0).Rows(i).Item("active") = 1 Then
cbActive.Checked = True
Else
cbActive.Checked = False
End If
End If
End Sub
Public Sub moveLast()
If limit > -1 Then
i = limit
txtUsername.Text = ds.Tables(0).Rows(i).Item("username")
oldUserName = ds.Tables(0).Rows(i).Item("username")
txtPassword.Text = ds.Tables(0).Rows(i).Item("password")
txtPassword2.Text = ds.Tables(0).Rows(i).Item("password")
txtEmployeeCode.Text = ds.Tables(0).Rows(i).Item("employeecode")
cmb_userType.SelectedItem = ds.Tables(0).Rows(i).Item("authentication")
If ds.Tables(0).Rows(i).Item("active") = 1 Then
cbActive.Checked = True
Else
cbActive.Checked = False
End If
Else
clear()
End If
End Sub
Public Sub add()
clear()
addMode = 1
editMode = 0
toAddMode()
End Sub
Public Sub edit()
oldUserName = txtUserName.Text
editMode = 1
addMode = 0
toEditMode()
End Sub
Public Sub save()
Dim user As New User(txtUsername.Text)
If addMode Or editMode Then
If txtPassword.Text = txtPassword2.Text Then
If addMode Then
user.add(txtUsername.Text, txtPassword.Text, txtEmployeeCode.Text, cmb_userType.SelectedItem, cbActive.Checked)
ElseIf editMode Then
user.edit(txtUsername.Text, txtPassword.Text, txtEmployeeCode.Text, cmb_userType.SelectedItem, cbActive.Checked)
End If
fillDataSet()
If ds.Tables(0).Rows.Count <> 0 Then
oldUserName = txtUsername.Text
trace(oldUserName)
End If
disableControls()
addMode = 0
editMode = 0
toNormalMode()
Else
MessageBox.Show("Passwords do not match", "User", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End If
End If
End Sub
Public Sub delete()
If txtUserName.Text <> "" Then
If MessageBox.Show("Are you sure you want to delete?", "System User", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes And txtUserName.Text <> "" Then
Dim user As New User(txtUserName.Text)
user.delete(txtUserName.Text)
fillDataSet()
moveFirst()
End If
End If
End Sub
Public Sub revert()
If (editMode Or addMode) Then
disableControls()
clear()
If oldUserName <> "" Then
retrieve(oldUserName)
End If
toNormalMode()
End If
End Sub
Public Sub find()
txtUsername.Enabled = True
txtUserName.Text = String.Empty
txtPassword.Text = String.Empty
cmb_userType.SelectedIndex = 0
cbActive.Visible = False
btn_find.Visible = True
toSearchMode()
End Sub
Private Sub retrieve(ByVal username As String)
fillDataSet()
trace(username)
txtUsername.Enabled = False
cbActive.Visible = True
btn_find.Visible = False
toNormalMode()
End Sub
Private Sub ts_new_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ts_new.Click
add()
End Sub
Private Sub ts_edit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ts_edit.Click
edit()
End Sub
Private Sub ts_delete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ts_delete.Click
delete()
End Sub
Private Sub ts_find_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ts_find.Click
find()
End Sub
Private Sub ts_save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ts_save.Click
save()
End Sub
Private Sub ts_revert_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ts_revert.Click
revert()
End Sub
Private Sub btn_find_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_find.Click
oldUserName = txtUsername.Text
retrieve(oldUserName)
End Sub
Private Sub txtUsername_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtUsername.KeyUp
If e.KeyCode = Keys.Enter Then
oldUserName = txtUsername.Text
retrieve(oldUserName)
End If
End Sub
Private Sub ts_close_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Me.Close()
End Sub
Private Sub cbActive_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbActive.CheckedChanged
End Sub
End Class