0001.
Option
Explicit
On
0002.
Option
Strict
On
0003.
Imports
System.IO
0004.
Imports
System.Text
0005.
Imports
System.Data
0006.
Imports
System.Data.SqlClient
0007.
Imports
System.Drawing.Drawing2D
0008.
Imports
System.Drawing.Printing
0009.
Public
Class
frmPeople
0010.
Dim
Conn
As
SqlConnection
0011.
Dim
com
As
SqlCommand
0012.
Dim
dr
As
SqlDataReader
0013.
Dim
dtPreT
As
DataTable
0014.
Dim
dtPreE
As
DataTable
0015.
Dim
dtType
As
DataTable
0016.
Dim
dtCampus
As
DataTable
0017.
Dim
dtDep1
As
DataTable
0018.
Dim
dtDep2
As
DataTable
0019.
0020.
Dim
dtPeople
As
DataTable
0021.
Dim
bs
As
BindingSource =
New
BindingSource()
0022.
Dim
tr
As
SqlTransaction
0023.
Dim
sb
As
StringBuilder
0024.
0025.
Dim
AllPeople
As
Integer
= 0
0026.
Dim
TeacherPeople
As
Integer
= 0
0027.
Dim
StaffPeople
As
Integer
= 0
0028.
Dim
OtherPeople
As
Integer
= 0
0029.
0030.
Dim
ActionFlag
As
String
0031.
Dim
Duration
As
Integer
= 0
0032.
Dim
SearchPeople
As
String
=
"0"
0033.
Dim
SubjectDetail
As
String
=
"0"
0034.
0035.
Dim
fs
As
FileStream
0036.
Dim
CurrentImage()
As
Byte
0037.
Dim
peoplePicture
As
String
0038.
Dim
IsPictureChange
As
Boolean
=
False
0039.
0040.
Dim
UseFont
As
New
Font(
"MS Sans Serif"
, 10)
0041.
0042.
Dim
prDlg
As
PrintDialog =
New
PrintDialog
0043.
Dim
CustomerTypeName
As
String
0044.
0045.
Dim
sw
As
New
Stopwatch()
0046.
Dim
ProcessTime
As
Double
0047.
Dim
_ToolStripLabel
As
New
ToolStripLabel
0048.
0049.
Dim
iCustomerID
As
New
TextBox
0050.
Dim
iFnameT
As
New
TextBox
0051.
Dim
iFnameE
As
New
TextBox
0052.
Dim
iLnameT
As
New
TextBox
0053.
Dim
iLnameE
As
New
TextBox
0054.
Dim
iSname
As
New
TextBox
0055.
Dim
itel
As
New
TextBox
0056.
Dim
imobile
As
New
TextBox
0057.
Dim
iposition
As
New
TextBox
0058.
Dim
iemailU1
As
New
TextBox
0059.
Dim
iemailU2
As
New
TextBox
0060.
Dim
iemailP1
As
New
TextBox
0061.
Dim
iemailP2
As
New
TextBox
0062.
Dim
itoStudy
As
New
TextBox
0063.
Dim
itoWork
As
New
TextBox
0064.
Dim
itoPortfolio
As
New
TextBox
0065.
Dim
iRemark
As
New
TextBox
0066.
Dim
iPreT
As
New
ComboBox
0067.
Dim
iPreE
As
New
ComboBox
0068.
Dim
iSex
As
New
ComboBox
0069.
Dim
iCampus
As
New
ComboBox
0070.
Dim
iDep1
As
New
ComboBox
0071.
Dim
iDep2
As
New
ComboBox
0072.
Dim
iType
As
New
ComboBox
0073.
Dim
iMale
As
New
RadioButton
0074.
Dim
iFemale
As
New
RadioButton
0075.
0076.
Dim
iSubjectDetail
As
Boolean
=
False
0077.
0078.
Dim
iFrmSubjectDetail
As
frmSubjectDetail
0079.
Dim
isFind2
As
Boolean
=
False
0080.
Dim
da
As
SqlDataAdapter
0081.
Dim
ds
As
New
DataSet
0082.
Dim
dt
As
New
DataTable
0083.
0084.
0085.
Public
Sub
New
(
ByRef
refToolStripLabel
As
ToolStripLabel)
0086.
InitializeComponent()
0087.
_ToolStripLabel = refToolStripLabel
0088.
End
Sub
0089.
Public
Sub
New
(
ByRef
_SubjectDetail
As
Boolean
,
ByRef
_Male
As
RadioButton,
ByRef
_Female
As
RadioButton,
ByRef
_CustomerID
As
TextBox,
ByRef
_FnameT
As
TextBox,
ByRef
_FnameE
As
TextBox,
ByRef
_LnameT
As
TextBox,
ByRef
_LnameE
As
TextBox,
ByRef
_Sname
As
TextBox,
ByRef
_mobile
As
TextBox,
ByRef
_tel
As
TextBox,
ByRef
_position
As
TextBox,
ByRef
_Remark
As
TextBox,
ByRef
_toStudy
As
TextBox,
ByRef
_toWork
As
TextBox,
ByRef
_toPortfolio
As
TextBox,
ByRef
_emailP1
As
TextBox,
ByRef
_emailP2
As
TextBox,
ByRef
_emailU1
As
TextBox,
ByRef
_emailU2
As
TextBox,
ByRef
_PreT
As
ComboBox,
ByRef
_Type
As
ComboBox,
ByRef
_PreE
As
ComboBox,
ByRef
_Dep1
As
ComboBox,
ByRef
_Dep2
As
ComboBox,
ByRef
_Dep4
As
ComboBox,
ByRef
_Campus
As
ComboBox,
ByRef
value
As
frmSubjectDetail)
0090.
InitializeComponent()
0091.
iSubjectDetail = _SubjectDetail
0092.
iFrmSubjectDetail = value
0093.
iCustomerID = _CustomerID
0094.
iFnameT = _FnameT
0095.
iFnameE = _FnameE
0096.
iLnameT = _LnameT
0097.
iLnameE = _LnameE
0098.
iSname = _Sname
0099.
imobile = _mobile
0100.
itel = _tel
0101.
iemailU1 = _emailU1
0102.
iemailU2 = _emailU2
0103.
iemailP1 = _emailP1
0104.
iemailP2 = _emailP2
0105.
iPreT = _PreT
0106.
iPreE = _PreE
0107.
iDep1 = _Dep1
0108.
iDep2 = _Dep2
0109.
iType = _Type
0110.
iMale = _Male
0111.
iFemale = _Female
0112.
iposition = _position
0113.
iCampus = _Campus
0114.
iRemark = _Remark
0115.
itoStudy = _toStudy
0116.
itoWork = _toWork
0117.
itoPortfolio = _toPortfolio
0118.
End
Sub
0119.
Private
Sub
txtCustomerID_TextChanged(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
txtCustomerID.TextChanged
0120.
iCustomerID.Text = lblPeopleID.Text()
0121.
End
Sub
0122.
Private
Sub
cboPreT_SelectedValueChanged(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
cboPreT.SelectedValueChanged
0123.
0124.
iPreT.SelectedValue = cboPreT.SelectedValue
0125.
End
Sub
0126.
0127.
Private
Sub
cboPreE_SelectedValueChanged(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
cboPreE.SelectedValueChanged
0128.
iPreE.SelectedValue = cboPreE.SelectedValue
0129.
End
Sub
0130.
0131.
Private
Sub
cboDep1_SelectedValueChanged(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
cboDep1.SelectedValueChanged
0132.
Dim
strConn
As
String
0133.
strConn = DBConnString.strConn
0134.
Conn =
New
SqlConnection()
0135.
0136.
With
Conn
0137.
If
.State = ConnectionState.Open
Then
.Close()
0138.
.ConnectionString = strConn
0139.
.Open()
0140.
End
With
0141.
0142.
sb =
New
StringBuilder()
0143.
sb.Append(
"SELECT * FROM tbl_dep1"
)
0144.
sb.Append(
"WHERE dep1ID ='"
& cboDep2.SelectedValue.ToString &
"'"
)
0145.
0146.
Dim
sqlIni
As
String
0147.
sqlIni = sb.ToString()
0148.
0149.
Dim
sqlSelect
As
String
=
""
0150.
0151.
If
isFind2 =
True
Then
0152.
ds.Tables(
"tbl_dep1"
).Clear()
0153.
End
If
0154.
0155.
da =
New
SqlDataAdapter(sqlSelect, Conn)
0156.
da.Fill(ds,
"tbl_dep1"
)
0157.
With
cboCampus
0158.
.DataSource = ds.Tables(
"tbl_dep1"
)
0159.
.DisplayMember =
"dep1Name"
0160.
.ValueMember =
"dep1ID"
0161.
End
With
0162.
isFind2 =
True
0163.
iDep1.SelectedValue = cboDep1.SelectedValue
0164.
End
Sub
0165.
0166.
Private
Sub
cboDep2_SelectedValueChanged(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
cboDep2.SelectedValueChanged
0167.
iDep2.SelectedValue = cboDep2.SelectedValue
0168.
End
Sub
0169.
Private
Sub
cboType_SelectedValueChanged(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
0170.
iType.SelectedValue = cboType.SelectedValue
0171.
End
Sub
0172.
0173.
Private
Sub
txtFnameT_TextChanged(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
txtFnameT.TextChanged
0174.
iFnameT.Text = txtFnameT.Text
0175.
End
Sub
0176.
0177.
Private
Sub
txtLnameT_TextChanged(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
txtLnameT.TextChanged
0178.
iLnameT.Text = txtLnameT.Text
0179.
End
Sub
0180.
0181.
Private
Sub
txtFnameE_TextChanged(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
txtFnameE.TextChanged
0182.
iFnameE.Text = txtFnameE.Text
0183.
End
Sub
0184.
0185.
Private
Sub
txtLnameE_TextChanged(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
txtLnameE.TextChanged
0186.
iLnameE.Text = txtLnameE.Text
0187.
End
Sub
0188.
0189.
Private
Sub
txtSname_TextChanged(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
txtSname.TextChanged
0190.
iSname.Text = txtSname.Text
0191.
End
Sub
0192.
0193.
Private
Sub
txtemailU1_TextChanged(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
txtemailU1.TextChanged
0194.
iemailU1.Text = txtemailU1.Text
0195.
End
Sub
0196.
0197.
Private
Sub
txtemailU2_TextChanged(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
txtemailU2.TextChanged
0198.
iemailU2.Text = txtemailU2.Text
0199.
End
Sub
0200.
0201.
Private
Sub
txtemailP1_TextChanged(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
txtemailP1.TextChanged
0202.
iemailP1.Text = txtemailP1.Text
0203.
End
Sub
0204.
0205.
Private
Sub
txtemailP2_TextChanged(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
txtemailP2.TextChanged
0206.
iemailP2.Text = txtemailP2.Text
0207.
End
Sub
0208.
0209.
Private
Sub
optMale_CheckedChanged(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
optMale.CheckedChanged
0210.
iMale.Checked = optMale.Checked
0211.
End
Sub
0212.
0213.
Private
Sub
optFemale_CheckedChanged(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
optFemale.CheckedChanged
0214.
iFemale.Checked = optFemale.Checked
0215.
End
Sub
0216.
0217.
Private
Sub
frmPeople_Load(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
MyBase
.Load
0218.
lblPeopleID.BackColor = Color.FromArgb(0, 0, 0, 0)
0219.
0220.
Dim
FD
As
New
FormFader
0221.
FD.FadeIn(
Me
, 0.25)
0222.
0223.
sw.Reset()
0224.
sw.Start()
0225.
Dim
strConn
As
String
0226.
strConn = DBConnString.strConn
0227.
0228.
Conn =
New
SqlConnection()
0229.
With
Conn
0230.
If
.State = ConnectionState.Open
Then
.Close()
0231.
.ConnectionString = strConn
0232.
.Open()
0233.
End
With
0234.
0235.
sb =
New
StringBuilder()
0236.
sb.Append(
"SELECT * FROM tbl_preT;"
)
0237.
sb.Append(
"SELECT * FROM tbl_preE;"
)
0238.
sb.Append(
"SELECT * FROM tbl_type;"
)
0239.
sb.Append(
"SELECT * FROM tbl_campus;"
)
0240.
sb.Append(
"SELECT * FROM tbl_dep1 ORDER BY dep1Name;"
)
0241.
sb.Append(
"SELECT * FROM tbl_dep2 ORDER BY dep2Name;"
)
0242.
0243.
Dim
sqlIni
As
String
0244.
sqlIni = sb.ToString()
0245.
0246.
RemoveHandler
cboPreT.SelectedValueChanged,
AddressOf
cboPreT_SelectedValueChanged
0247.
RemoveHandler
cboPreE.SelectedValueChanged,
AddressOf
cboPreE_SelectedValueChanged
0248.
RemoveHandler
cboCampus.SelectedValueChanged,
AddressOf
cboCampus_SelectedValueChanged
0249.
RemoveHandler
cboDep1.SelectedValueChanged,
AddressOf
cboDep1_SelectedValueChanged
0250.
RemoveHandler
cboDep2.SelectedValueChanged,
AddressOf
cboDep2_SelectedValueChanged
0251.
RemoveHandler
cboType.SelectedValueChanged,
AddressOf
cboType_SelectedValueChanged
0252.
0253.
com =
New
SqlCommand()
0254.
With
com
0255.
.CommandText = sqlIni
0256.
.CommandType = CommandType.Text
0257.
.Connection = Conn
0258.
0259.
dr = .ExecuteReader()
0260.
If
dr.HasRows
Then
0261.
0262.
dtPreT =
New
DataTable
0263.
dtPreT.Load(dr)
0264.
With
cboPreT
0265.
.BeginUpdate()
0266.
.DisplayMember =
"preTNameS"
0267.
.ValueMember =
"preTID"
0268.
.DataSource = dtPreT
0269.
.EndUpdate()
0270.
End
With
0271.
0272.
dtPreE =
New
DataTable
0273.
dtPreE.Load(dr)
0274.
With
cboPreE
0275.
.BeginUpdate()
0276.
.DisplayMember =
"preENameS"
0277.
.ValueMember =
"preEID"
0278.
.DataSource = dtPreE
0279.
.EndUpdate()
0280.
End
With
0281.
0282.
dtType =
New
DataTable
0283.
dtType.Load(dr)
0284.
With
cboType
0285.
.BeginUpdate()
0286.
.DisplayMember =
"typeName"
0287.
.ValueMember =
"typeID"
0288.
.DataSource = dtType
0289.
.EndUpdate()
0290.
End
With
0291.
0292.
dtCampus =
New
DataTable
0293.
dtCampus.Load(dr)
0294.
With
cboCampus
0295.
.BeginUpdate()
0296.
.DisplayMember =
"CampusNameS"
0297.
.ValueMember =
"campusID"
0298.
.DataSource = dtCampus
0299.
.EndUpdate()
0300.
End
With
0301.
0302.
dtDep1 =
New
DataTable
0303.
dtDep1.Load(dr)
0304.
With
cboDep1
0305.
.BeginUpdate()
0306.
.DisplayMember =
"dep1Name"
0307.
.ValueMember =
"dep1ID"
0308.
.DataSource = dtDep1
0309.
.EndUpdate()
0310.
End
With
0311.
0312.
0313.
0314.
dtDep2 =
New
DataTable
0315.
dtDep2.Load(dr)
0316.
da =
New
SqlDataAdapter(sqlIni, Conn)
0317.
da.Fill(ds,
"tbl_dep1"
)
0318.
With
cboDep2
0319.
.BeginUpdate()
0320.
.DisplayMember =
"dep2Name"
0321.
.ValueMember =
"dep2ID"
0322.
.DataSource = dtDep2
0323.
0324.
.EndUpdate()
0325.
End
With
0326.
0327.
End
If
0328.
0329.
End
With
0330.
dr.Close()
0331.
0332.
AddHandler
cboPreT.SelectedValueChanged,
AddressOf
cboPreT_SelectedValueChanged
0333.
AddHandler
cboPreE.SelectedValueChanged,
AddressOf
cboPreE_SelectedValueChanged
0334.
AddHandler
cboCampus.SelectedValueChanged,
AddressOf
cboCampus_SelectedValueChanged
0335.
AddHandler
cboDep1.SelectedValueChanged,
AddressOf
cboDep1_SelectedValueChanged
0336.
AddHandler
cboDep2.SelectedValueChanged,
AddressOf
cboDep2_SelectedValueChanged
0337.
AddHandler
cboType.SelectedValueChanged,
AddressOf
cboType_SelectedValueChanged
0338.
0339.
iPreT.SelectedValue = cboPreT.SelectedValue
0340.
iPreE.SelectedValue = cboPreE.SelectedValue
0341.
iCampus.SelectedValue = cboCampus.SelectedValue
0342.
iDep1.SelectedValue = cboDep1.SelectedValue
0343.
iDep2.SelectedValue = cboDep2.SelectedValue
0344.
iType.SelectedValue = cboType.SelectedValue
0345.
0346.
With
cboSearch
0347.
.Items.Add(
"รหัสบุคคล"
)
0348.
.Items.Add(
"ชื่อบุคคล(ภาษาไทย)"
)
0349.
.Items.Add(
"ชื่อบุคคล(ภาษาอังกฤษ)"
)
0350.
0351.
0352.
.Items.Add(
"เบอร์โทรศัพท์มือถือ"
)
0353.
.SelectedIndex = 1
0354.
End
With
0355.
0356.
cboPreT.ContextMenu =
New
ContextMenu()
0357.
cboPreE.ContextMenu =
New
ContextMenu()
0358.
cboCampus.ContextMenu =
New
ContextMenu()
0359.
cboDep1.ContextMenu =
New
ContextMenu()
0360.
cboDep2.ContextMenu =
New
ContextMenu()
0361.
cboType.ContextMenu =
New
ContextMenu()
0362.
0363.
picPeople.Image = picPeople.ErrorImage
0364.
0365.
ClearCustomer()
0366.
0367.
tsAdd.Enabled =
True
0368.
tsOK.Enabled =
False
0369.
0370.
0371.
sw.
Stop
()
0372.
ProcessTime = sw.ElapsedMilliseconds / 1000
0373.
_ToolStripLabel.Text =
"เวลาที่ใช้ : "
& ProcessTime.ToString(
"0.0000"
) &
"วินาที"
0374.
If
(iSubjectDetail =
False
)
Then
0375.
bgwPeople.RunWorkerAsync()
0376.
End
If
0377.
End
Sub
0378.
Private
Sub
ClearCustomer()
0379.
lblPeopleID.Text =
""
0380.
txtCustomerID.Text =
""
0381.
txtFnameT.Text =
""
0382.
txtFnameE.Text =
""
0383.
txtLnameT.Text =
""
0384.
txtLnameE.Text =
""
0385.
txtSname.Text =
""
0386.
txtposition.Text =
""
0387.
txttoStudy.Text =
""
0388.
txttoWork.Text =
""
0389.
txttoPortfolio.Text =
""
0390.
optMale.Checked =
True
0391.
txttel.Text =
""
0392.
txtRemark.Text =
""
0393.
txtmobile.Text =
""
0394.
txtemailP1.Text =
""
0395.
txtemailP2.Text =
""
0396.
txtemailU1.Text =
""
0397.
txtemailU2.Text =
""
0398.
0399.
0400.
peoplePicture =
""
0401.
picPeople.Image = picPeople.ErrorImage
0402.
CurrentImage =
Nothing
0403.
End
Sub
0404.
0405.
Private
Sub
bgwPeople_DoWork(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.ComponentModel.DoWorkEventArgs)
Handles
bgwPeople.DoWork
0406.
Dim
comCount
As
SqlCommand
0407.
comCount =
New
SqlCommand()
0408.
With
comCount
0409.
.CommandType = CommandType.Text
0410.
.Connection = Conn
0411.
End
With
0412.
0413.
sb.Remove(0, sb.Length())
0414.
sb.Append(
"SELECT typeID,COUNT(peopleID) AS NumberPeople"
)
0415.
sb.Append(
" FROM tbl_people"
)
0416.
sb.Append(
" GROUP BY typeID"
)
0417.
sb.Append(
" ORDER BY typeID"
)
0418.
Dim
sqlPeople
As
String
0419.
sqlPeople = sb.ToString()
0420.
0421.
AllPeople = 0
0422.
TeacherPeople = 0
0423.
StaffPeople = 0
0424.
OtherPeople = 0
0425.
0426.
Dim
drCount
As
SqlDataReader
0427.
With
comCount
0428.
.CommandText = sqlPeople
0429.
drCount = .ExecuteReader()
0430.
0431.
With
drCount
0432.
If
.HasRows
Then
0433.
Do
While
.Read()
0434.
If
.GetString(0) =
"0000"
Then
0435.
TeacherPeople = .GetInt32(1)
0436.
End
If
0437.
If
.GetString(0) =
"0001"
Then
0438.
StaffPeople = .GetInt32(1)
0439.
End
If
0440.
If
.GetString(0) =
"0002"
Then
0441.
OtherPeople = .GetInt32(1)
0442.
End
If
0443.
Loop
0444.
Else
0445.
AllPeople = 0
0446.
TeacherPeople = 0
0447.
StaffPeople = 0
0448.
OtherPeople = 0
0449.
End
If
0450.
End
With
0451.
End
With
0452.
0453.
AllPeople = TeacherPeople + StaffPeople + OtherPeople
0454.
bgwPeople.ReportProgress(100)
0455.
drCount.Close()
0456.
End
Sub
0457.
Private
Sub
bgwPeople_ProgressChanged(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.ComponentModel.ProgressChangedEventArgs)
Handles
bgwPeople.ProgressChanged
0458.
tsPgbProcess.Value = e.ProgressPercentage()
0459.
End
Sub
0460.
Private
Sub
bgwPeople_RunWorkerCompleted(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.ComponentModel.RunWorkerCompletedEventArgs)
Handles
bgwPeople.RunWorkerCompleted
0461.
If
e.
Error
Is
Nothing
Then
0462.
tsAllPeople.Text =
"บุคคลทั้งหมด : "
& AllPeople.ToString(
"#,##0"
) &
"คน (คณาจารย์มจธ. : "
& TeacherPeople.ToString(
"#,##0"
) &
") "
&
"(บุคลากรภายใน : "
& StaffPeople.ToString(
"#,##0"
) &
") "
&
"(บุคคลภายนอก/วิทยากร : "
& OtherPeople.ToString(
"#,##0"
) &
") "
0463.
Else
0464.
tsAllPeople.Text =
"บุคคลทั้งหมด 0 คน(ปกติ : 0 คน) (คณาจารย์มจธ. : 0 คน) (บุคคลภายนอก/วิทยากร : 0 คน)"
0465.
End
If
0466.
End
Sub
0467.
0468.
0469.
Private
Sub
tsSearch_KeyDown(
ByVal
sender
As
Object
,
ByVal
e
As
System.Windows.Forms.KeyEventArgs)
Handles
tsSearch.KeyDown
0470.
If
e.KeyCode = Keys.Enter
Then
0471.
If
tsSearch.Text.Trim() =
""
Then
Exit
Sub
0472.
0473.
sw.Reset()
0474.
sw.Start()
0475.
sb.Remove(0, sb.Length())
0476.
sb.Append(
"SELECT * FROM tbl_people"
)
0477.
0478.
Select
Case
cboSearch.SelectedIndex
0479.
Case
0
0480.
sb.Append(
" WHERE (peopleID=@peopleID)"
)
0481.
Case
1
0482.
sb.Append(
" WHERE (FnameT LIKE @FnameT)"
)
0483.
Case
2
0484.
sb.Append(
" WHERE (FnameE LIKE @FnameE)"
)
0485.
Case
3
0486.
sb.Append(
" WHERE (mobile LIKE @mobile)"
)
0487.
0488.
End
Select
0489.
0490.
sb.Append(
"ORDER BY FnameT"
)
0491.
Dim
sqlSearch
As
String
0492.
sqlSearch = sb.ToString()
0493.
0494.
dtPeople =
New
DataTable()
0495.
With
com
0496.
.Parameters.Clear()
0497.
Select
Case
cboSearch.SelectedIndex
0498.
Case
0
0499.
.Parameters.Add(
"@peopleID"
, SqlDbType.NVarChar).Value = tsSearch.Text.Trim()
0500.
Case
1
0501.
.Parameters.Add(
"@FnameT"
, SqlDbType.NVarChar).Value =
"%"
& tsSearch.Text.Trim() &
"%"
0502.
Case
2
0503.
.Parameters.Add(
"@FnameE"
, SqlDbType.NVarChar).Value =
"%"
& tsSearch.Text.Trim() &
"%"
0504.
Case
3
0505.
.Parameters.Add(
"@mobile"
, SqlDbType.NVarChar).Value =
"%"
& tsSearch.Text.Trim() &
"%"
0506.
0507.
End
Select
0508.
.CommandText = sqlSearch
0509.
.CommandType = CommandType.Text
0510.
.Connection = Conn
0511.
dr = .ExecuteReader
0512.
0513.
If
dr.HasRows
Then
0514.
ClearBinding()
0515.
ActionFlag =
"EDIT"
0516.
0517.
dtPeople.Load(dr)
0518.
bs.DataSource = dtPeople
0519.
bn.BindingSource = bs
0520.
lblPeopleID.DataBindings.Add(
"Text"
, bs,
"peopleID"
)
0521.
txtCustomerID.DataBindings.Add(
"Text"
, bs,
"peopleID"
)
0522.
0523.
ShowPosition()
0524.
With
cboPreT
0525.
.DisplayMember =
"preTNameS"
0526.
.ValueMember =
"preTID"
0527.
.DataBindings.Add(
"SelectedValue"
, bs,
"preTID"
)
0528.
.DataSource = dtPreT
0529.
End
With
0530.
With
cboPreE
0531.
.DisplayMember =
"preENameS"
0532.
.ValueMember =
"preEID"
0533.
.DataBindings.Add(
"SelectedValue"
, bs,
"preEID"
)
0534.
.DataSource = dtPreE
0535.
End
With
0536.
With
cboDep1
0537.
.DisplayMember =
"dep1Name"
0538.
.ValueMember =
"dep1ID"
0539.
.DataBindings.Add(
"SelectedValue"
, bs,
"dep1ID"
)
0540.
.DataSource = dtDep1
0541.
End
With
0542.
With
cboDep2
0543.
.DisplayMember =
"dep2Name"
0544.
.ValueMember =
"dep2ID"
0545.
.DataBindings.Add(
"SelectedValue"
, bs,
"dep2ID"
)
0546.
.DataSource = dtDep2
0547.
End
With
0548.
With
cboType
0549.
.DisplayMember =
"typeName"
0550.
.ValueMember =
"typeID"
0551.
.DataBindings.Add(
"SelectedValue"
, bs,
"typeID"
)
0552.
.DataSource = dtType
0553.
End
With
0554.
With
cboCampus
0555.
.DisplayMember =
"campusNameS"
0556.
.ValueMember =
"campusID"
0557.
.DataBindings.Add(
"SelectedValue"
, bs,
"campusID"
)
0558.
.DataSource = dtCampus
0559.
End
With
0560.
0561.
txtFnameT.DataBindings.Add(
"Text"
, bs,
"FnameT"
)
0562.
txtFnameE.DataBindings.Add(
"Text"
, bs,
"FnameE"
)
0563.
txtLnameT.DataBindings.Add(
"Text"
, bs,
"LnameT"
)
0564.
txtLnameE.DataBindings.Add(
"Text"
, bs,
"LnameE"
)
0565.
txtSname.DataBindings.Add(
"Text"
, bs,
"Sname"
)
0566.
txttel.DataBindings.Add(
"Text"
, bs,
"tel"
)
0567.
txtRemark.DataBindings.Add(
"Text"
, bs,
"Remark"
)
0568.
txtmobile.DataBindings.Add(
"Text"
, bs,
"mobile"
)
0569.
txtemailP1.DataBindings.Add(
"Text"
, bs,
"emailP1"
)
0570.
txtemailP2.DataBindings.Add(
"Text"
, bs,
"emailP2"
)
0571.
txtemailU1.DataBindings.Add(
"Text"
, bs,
"emailU1"
)
0572.
txtemailU2.DataBindings.Add(
"Text"
, bs,
"emailU2"
)
0573.
txtposition.DataBindings.Add(
"Text"
, bs,
"position"
)
0574.
txttoStudy.DataBindings.Add(
"Text"
, bs,
"toStudy"
)
0575.
txttoWork.DataBindings.Add(
"Text"
, bs,
"toWork"
)
0576.
txttoPortfolio.DataBindings.Add(
"Text"
, bs,
"toPortfolio"
)
0577.
0578.
picPeople.DataBindings.Add(
"Image"
, bs,
"peoplePicture"
,
True
, DataSourceUpdateMode.Never, picPeople.ErrorImage)
0579.
0580.
bn.Enabled =
True
0581.
tsAdd.Enabled =
True
0582.
tsOK.Enabled =
True
0583.
0584.
Else
0585.
ClearCustomer()
0586.
tsAdd.Enabled =
True
0587.
tsOK.Enabled =
False
0588.
0589.
0590.
bn.BindingSource =
Nothing
0591.
bn.Enabled =
False
0592.
bnRecord.Text =
"0"
0593.
bnCount.Text =
"0"
0594.
0595.
MessageBox.Show(
"เงื่อนไขที่คุณป้อน ไม่มี"
,
"ผลการค้นหา"
, MessageBoxButtons.OK, MessageBoxIcon.Information)
0596.
tsSearch.Focus()
0597.
tsSearch.SelectAll()
0598.
End
If
0599.
End
With
0600.
0601.
sw.
Stop
()
0602.
ProcessTime = sw.ElapsedMilliseconds / 1000
0603.
_ToolStripLabel.Text =
"เวลาที่ใช้ : "
& ProcessTime.ToString(
"0.0000"
) &
"วินาที"
0604.
0605.
dr.Close()
0606.
End
If
0607.
End
Sub
0608.
Private
Sub
ClearBinding()
0609.
lblPeopleID.DataBindings.Clear()
0610.
txtCustomerID.DataBindings.Clear()
0611.
cboPreT.DataBindings.Clear()
0612.
cboPreE.DataBindings.Clear()
0613.
txtFnameT.DataBindings.Clear()
0614.
txtFnameE.DataBindings.Clear()
0615.
txtLnameT.DataBindings.Clear()
0616.
txtLnameE.DataBindings.Clear()
0617.
txtSname.DataBindings.Clear()
0618.
cboType.DataBindings.Clear()
0619.
cboCampus.DataBindings.Clear()
0620.
cboDep1.DataBindings.Clear()
0621.
cboDep2.DataBindings.Clear()
0622.
txtposition.DataBindings.Clear()
0623.
txttel.DataBindings.Clear()
0624.
txtmobile.DataBindings.Clear()
0625.
txtRemark.DataBindings.Clear()
0626.
txtemailU1.DataBindings.Clear()
0627.
txtemailU2.DataBindings.Clear()
0628.
txtemailP1.DataBindings.Clear()
0629.
txtemailP2.DataBindings.Clear()
0630.
txttoStudy.DataBindings.Clear()
0631.
txttoWork.DataBindings.Clear()
0632.
txttoPortfolio.DataBindings.Clear()
0633.
picPeople.DataBindings.Clear()
0634.
End
Sub
0635.
0636.
Private
Sub
bnMoveFirst_Click(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
bnMoveFirst.Click
0637.
ShowPosition()
0638.
End
Sub
0639.
0640.
Private
Sub
bnMovePrevious_Click(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
bnMovePrevious.Click
0641.
ShowPosition()
0642.
End
Sub
0643.
0644.
Private
Sub
bnMoveNext_Click(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
bnMoveNext.Click
0645.
ShowPosition()
0646.
End
Sub
0647.
0648.
Private
Sub
bnMoveLast_Click(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
bnMoveLast.Click
0649.
ShowPosition()
0650.
End
Sub
0651.
Private
Sub
ShowPosition()
0652.
Dim
CurrentRecord
As
Integer
0653.
If
bs.Count > 0
Then
0654.
CurrentRecord = bs.Position + 1
0655.
bnRecord.Text =
CStr
(CurrentRecord)
0656.
If
CStr
(dtPeople.Rows(CurrentRecord - 1).Item(
"Sex"
)) =
"M"
Then
0657.
optMale.Checked =
True
0658.
ElseIf
CStr
(dtPeople.Rows(CurrentRecord - 1).Item(
"Sex"
)) =
"F"
Then
0659.
optFemale.Checked =
True
0660.
End
If
0661.
Else
0662.
CurrentRecord = 0
0663.
bnRecord.Text =
"0"
0664.
bnCount.Text =
"0"
0665.
End
If
0666.
End
Sub
0667.
0668.
Private
Sub
picPeople_Click(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
picPeople.Click
0669.
With
ofDlg
0670.
.Title =
"เลือกไฟล์รูปภาพ"
0671.
.Filter =
"Bitmap (*.bmp)|*.bmp"
0672.
.FileName =
""
0673.
.Multiselect =
False
0674.
.FilterIndex = 0
0675.
If
.ShowDialog() = Windows.Forms.DialogResult.OK
Then
0676.
peoplePicture = .FileName
0677.
picPeople.Image = Image.FromFile(peoplePicture)
0678.
Else
0679.
peoplePicture =
""
0680.
picPeople.Image = picPeople.ErrorImage
0681.
End
If
0682.
End
With
0683.
End
Sub
0684.
0685.
Private
Sub
cmdDeleteImage_Click(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
cmdDeleteImage.Click
0686.
peoplePicture =
""
0687.
picPeople.Image = picPeople.ErrorImage
0688.
End
Sub
0689.
0690.
Private
Sub
tsAdd_Click(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
tsAdd.Click
0691.
ActionFlag =
"ADD"
0692.
ClearCustomer()
0693.
0694.
tsAdd.Enabled =
False
0695.
tsOK.Enabled =
True
0696.
0697.
0698.
bn.Enabled =
False
0699.
bnRecord.Text =
"0"
0700.
bnCount.Text =
"0"
0701.
tsSearch.Enabled =
False
0702.
0703.
txtFnameT.Focus()
0704.
0705.
End
Sub
0706.
0707.
Private
Sub
tsOK_Click(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
tsOK.Click
0708.
If
(txtFnameT.Text.Trim() =
""
)
OrElse
(txtFnameE.Text.Trim() =
""
)
Then
0709.
MessageBox.Show(
"กรุณาป้อนข้อมูลให้ครบ"
,
"ผลการตรวจสอบ"
, MessageBoxButtons.OK, MessageBoxIcon.Warning)
0710.
txtFnameT.Focus()
0711.
Exit
Sub
0712.
End
If
0713.
If
MessageBox.Show(
"คุณต้องการบันทึกข้อมูลใหม่ ใช่หรือไม่"
,
"คำยืนยัน"
, MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes
Then
0714.
sw.Reset()
0715.
sw.Start()
0716.
tr = Conn.BeginTransaction()
0717.
0718.
If
peoplePicture <>
""
Then
0719.
fs =
New
FileStream(peoplePicture, FileMode.Open, FileAccess.Read)
0720.
ReDim
CurrentImage(
CInt
(fs.Length))
0721.
fs.Read(CurrentImage, 0,
CInt
(fs.Length - 1))
0722.
fs.Close()
0723.
End
If
0724.
0725.
Dim
sqlOK
As
String
0726.
Dim
NewID
As
String
0727.
Dim
FirstID
As
String
0728.
Dim
LastID
As
Long
0729.
Try
0730.
Select
Case
ActionFlag
0731.
Case
"ADD"
0732.
sb.Remove(0, sb.Length())
0733.
sb.Append(
"SELECT TOP 1 peopleID FROM tbl_people"
)
0734.
sb.Append(
" WHERE (typeID=@typeID)"
)
0735.
sb.Append(
" ORDER BY peopleID DESC"
)
0736.
sqlOK = sb.ToString()
0737.
0738.
With
com
0739.
.Parameters.Clear()
0740.
.Parameters.Add(
"@typeID"
, SqlDbType.NVarChar).Value = cboType.SelectedValue.ToString()
0741.
.CommandText = sqlOK
0742.
.Transaction = tr
0743.
dr = .ExecuteReader()
0744.
If
dr.HasRows
Then
0745.
With
dr
0746.
.Read()
0747.
NewID = .GetString(.GetOrdinal(
"peopleID"
))
0748.
End
With
0749.
0750.
FirstID = StringExt.StringFromLeft(NewID, 4)
0751.
LastID =
CLng
(StringExt.StringFromRight(NewID, 6))
0752.
LastID += 1
0753.
0754.
0755.
lblPeopleID.Text =
String
.Format(FirstID,
"0000"
) & LastID.ToString(
"000000"
)
0756.
txtCustomerID.Text = lblPeopleID.Text
0757.
Else
0758.
lblPeopleID.Text =
CStr
(cboType.SelectedValue) &
"003400"
0759.
txtCustomerID.Text = lblPeopleID.Text
0760.
End
If
0761.
dr.Close()
0762.
sb.Remove(0, sb.Length())
0763.
sb.Append(
"INSERT INTO tbl_people (peopleID,FnameT,LnameT,preTID,preEID,"
)
0764.
sb.Append(
" FnameE,LnameE,Sname,Sex,dep1ID,dep2ID,CampusID,tel,position,mobile,Remark,toStudy,toWork,toPortfolio,emailU1,emailU2,emailP1,emailP2,"
)
0765.
0766.
0767.
If
peoplePicture <>
""
Then
0768.
sb.Append(
"peoplePicture,"
)
0769.
End
If
0770.
sb.Append(
" typeID)"
)
0771.
0772.
sb.Append(
" VALUES (@peopleID,@FnameT,@LnameT,@preTID,@preEID,"
)
0773.
sb.Append(
" @FnameE,@LnameE,@Sname,@Sex,@dep1ID,@dep2ID,@CampusID,@tel,@position,@mobile,@Remark,@toStudy,@toWork,@toPortfolio,@emailU1,@emailU2,@emailP1,@emailP2,"
)
0774.
0775.
0776.
If
peoplePicture <>
""
Then
0777.
sb.Append(
" @peoplePicture,"
)
0778.
End
If
0779.
sb.Append(
" @typeID)"
)
0780.
0781.
sqlOK = sb.ToString
0782.
0783.
.CommandText = sqlOK
0784.
.Parameters.Clear()
0785.
.Parameters.Add(
"@peopleID"
, SqlDbType.NVarChar).Value = lblPeopleID.Text
0786.
.Parameters.Add(
"@preTID"
, SqlDbType.NVarChar).Value =
CStr
(cboPreT.SelectedValue)
0787.
.Parameters.Add(
"@preEID"
, SqlDbType.NVarChar).Value =
CStr
(cboPreE.SelectedValue)
0788.
.Parameters.Add(
"@typeID"
, SqlDbType.NVarChar).Value =
CStr
(cboType.SelectedValue)
0789.
.Parameters.Add(
"@campusID"
, SqlDbType.NVarChar).Value =
CStr
(cboCampus.SelectedValue)
0790.
.Parameters.Add(
"@dep1ID"
, SqlDbType.NVarChar).Value =
CStr
(cboDep1.SelectedValue)
0791.
.Parameters.Add(
"@dep2ID"
, SqlDbType.NVarChar).Value =
CStr
(cboDep2.SelectedValue)
0792.
.Parameters.Add(
"@FnameT"
, SqlDbType.NVarChar).Value = txtFnameT.Text.Trim()
0793.
.Parameters.Add(
"@FnameE"
, SqlDbType.NVarChar).Value = txtFnameE.Text.Trim()
0794.
.Parameters.Add(
"@LnameT"
, SqlDbType.NVarChar).Value = txtLnameT.Text.Trim()
0795.
.Parameters.Add(
"@LnameE"
, SqlDbType.NVarChar).Value = txtLnameE.Text.Trim()
0796.
.Parameters.Add(
"@Sname"
, SqlDbType.NVarChar).Value = txtSname.Text.Trim()
0797.
.Parameters.Add(
"@tel"
, SqlDbType.NVarChar).Value = txttel.Text.Trim()
0798.
.Parameters.Add(
"@Remark"
, SqlDbType.NVarChar).Value = txtRemark.Text.Trim()
0799.
.Parameters.Add(
"@mobile"
, SqlDbType.NVarChar).Value = txtmobile.Text.Trim()
0800.
.Parameters.Add(
"@emailU1"
, SqlDbType.NVarChar).Value = txtemailU1.Text.Trim()
0801.
.Parameters.Add(
"@emailU2"
, SqlDbType.NVarChar).Value = txtemailU2.Text.Trim()
0802.
.Parameters.Add(
"@emailP1"
, SqlDbType.NVarChar).Value = txtemailP1.Text.Trim()
0803.
.Parameters.Add(
"@emailP2"
, SqlDbType.NVarChar).Value = txtemailP2.Text.Trim()
0804.
.Parameters.Add(
"@position"
, SqlDbType.NVarChar).Value = txtposition.Text.Trim()
0805.
.Parameters.Add(
"@toStudy"
, SqlDbType.NVarChar).Value = txttoStudy.Text.Trim()
0806.
.Parameters.Add(
"@toWork"
, SqlDbType.NVarChar).Value = txttoWork.Text.Trim()
0807.
.Parameters.Add(
"@toPortfolio"
, SqlDbType.NVarChar).Value = txttoPortfolio.Text.Trim()
0808.
0809.
If
optMale.Checked =
True
Then
0810.
.Parameters.Add(
"@Sex"
, SqlDbType.NVarChar).Value =
"F"
0811.
Else
0812.
.Parameters.Add(
"@Sex"
, SqlDbType.NVarChar).Value =
"M"
0813.
End
If
0814.
0815.
If
peoplePicture <>
""
Then
0816.
.Parameters.Add(
"@peoplePicture"
, SqlDbType.Image).Value = CurrentImage
0817.
End
If
0818.
0819.
.ExecuteNonQuery()
0820.
End
With
0821.
0822.
Case
"EDIT"
0823.
sb.Remove(0, sb.Length())
0824.
0825.
sb.Append(
"UPDATE tbl_people"
)
0826.
sb.Append(
" SET preTID=@preTID,"
)
0827.
sb.Append(
" preEID=@preEID,"
)
0828.
sb.Append(
" FnameT=@FnameT,"
)
0829.
sb.Append(
" LnameT=@LnameT,"
)
0830.
sb.Append(
" FnameE=@FnameE,"
)
0831.
sb.Append(
" LnameE=@LnameE,"
)
0832.
sb.Append(
" Sname=@Sname,"
)
0833.
sb.Append(
" Sex=@Sex,"
)
0834.
sb.Append(
" typeID=@typeID,"
)
0835.
sb.Append(
" campusID=@campusID,"
)
0836.
sb.Append(
" dep1ID=@dep1ID,"
)
0837.
sb.Append(
" dep2ID=@dep2ID,"
)
0838.
sb.Append(
" tel=@tel,"
)
0839.
sb.Append(
" mobile=@mobile,"
)
0840.
sb.Append(
" emailU1=@emailU1,"
)
0841.
sb.Append(
" emailU2=@emailU2,"
)
0842.
sb.Append(
" emailP1=@emailP1,"
)
0843.
sb.Append(
" emailP2=@emailP2,"
)
0844.
sb.Append(
" position=@position,"
)
0845.
sb.Append(
" Remark=@Remark,"
)
0846.
sb.Append(
" toStudy=@toStudy,"
)
0847.
sb.Append(
" toWork=@toWork,"
)
0848.
sb.Append(
" toPortfolio=@toPortfolio"
)
0849.
sb.Append(
" WHERE (peopleID=@peopleID)"
)
0850.
0851.
sqlOK = sb.ToString
0852.
0853.
With
com
0854.
.CommandText = sqlOK
0855.
.Transaction = tr
0856.
.Parameters.Clear()
0857.
0858.
.Parameters.Add(
"@preTID"
, SqlDbType.NVarChar).Value =
CStr
(cboPreT.SelectedValue)
0859.
.Parameters.Add(
"@preEID"
, SqlDbType.NVarChar).Value =
CStr
(cboPreE.SelectedValue)
0860.
.Parameters.Add(
"@typeID"
, SqlDbType.NVarChar).Value =
CStr
(cboType.SelectedValue)
0861.
.Parameters.Add(
"@dep1ID"
, SqlDbType.NVarChar).Value =
CStr
(cboDep1.SelectedValue)
0862.
.Parameters.Add(
"@dep2ID"
, SqlDbType.NVarChar).Value =
CStr
(cboDep2.SelectedValue)
0863.
.Parameters.Add(
"@campusID"
, SqlDbType.NVarChar).Value =
CStr
(cboCampus.SelectedValue)
0864.
.Parameters.Add(
"@FnameT"
, SqlDbType.NVarChar).Value = txtFnameT.Text.Trim()
0865.
.Parameters.Add(
"@FnameE"
, SqlDbType.NVarChar).Value = txtFnameE.Text.Trim()
0866.
.Parameters.Add(
"@LnameT"
, SqlDbType.NVarChar).Value = txtLnameT.Text.Trim()
0867.
.Parameters.Add(
"@LnameE"
, SqlDbType.NVarChar).Value = txtLnameE.Text.Trim()
0868.
.Parameters.Add(
"@Sname"
, SqlDbType.NVarChar).Value = txtSname.Text.Trim()
0869.
.Parameters.Add(
"@tel"
, SqlDbType.NVarChar).Value = txttel.Text.Trim()
0870.
.Parameters.Add(
"@Remark"
, SqlDbType.NVarChar).Value = txtRemark.Text.Trim()
0871.
.Parameters.Add(
"@mobile"
, SqlDbType.NVarChar).Value = txtmobile.Text.Trim()
0872.
.Parameters.Add(
"@emailU1"
, SqlDbType.NVarChar).Value = txtemailU1.Text.Trim()
0873.
.Parameters.Add(
"@emailU2"
, SqlDbType.NVarChar).Value = txtemailU2.Text.Trim()
0874.
.Parameters.Add(
"@emailP1"
, SqlDbType.NVarChar).Value = txtemailP1.Text.Trim()
0875.
.Parameters.Add(
"@emailP2"
, SqlDbType.NVarChar).Value = txtemailP2.Text.Trim()
0876.
.Parameters.Add(
"@position"
, SqlDbType.NVarChar).Value = txtposition.Text.Trim()
0877.
.Parameters.Add(
"@toStudy"
, SqlDbType.NVarChar).Value = txttoStudy.Text.Trim()
0878.
.Parameters.Add(
"@toWork"
, SqlDbType.NVarChar).Value = txttoWork.Text.Trim()
0879.
.Parameters.Add(
"@toPortfolio"
, SqlDbType.NVarChar).Value = txttoPortfolio.Text.Trim()
0880.
0881.
If
optMale.Checked =
True
Then
0882.
.Parameters.Add(
"@Sex"
, SqlDbType.NVarChar).Value =
"F"
0883.
Else
0884.
.Parameters.Add(
"@Sex"
, SqlDbType.NVarChar).Value =
"M"
0885.
End
If
0886.
0887.
If
(IsPictureChange =
True
)
AndAlso
(peoplePicture <>
""
)
Then
0888.
.Parameters.Add(
"@peoplePicture"
, SqlDbType.Image).Value = CurrentImage
0889.
End
If
0890.
.Parameters.Add(
"@peopleID"
, SqlDbType.NVarChar).Value = lblPeopleID.Text
0891.
.ExecuteNonQuery()
0892.
End
With
0893.
0894.
End
Select
0895.
0896.
tr.Commit()
0897.
sw.
Stop
()
0898.
ProcessTime = sw.ElapsedMilliseconds / 1000
0899.
_ToolStripLabel.Text =
"เวลาที่ใช้ : "
& ProcessTime.ToString(
"0.0000"
) &
" วินาที"
0900.
0901.
MessageBox.Show(
"บันทึกข้อมูลสมาชิกใหม่ เรียบร้อยแล้ว"
,
"ผลการทำงาน"
, MessageBoxButtons.OK, MessageBoxIcon.Information)
0902.
0903.
If
(iSubjectDetail =
False
)
Then
0904.
ClearCustomer()
0905.
End
If
0906.
If
(iSubjectDetail =
True
)
Then
0907.
Me
.Close()
0908.
End
If
0909.
0910.
bn.BindingSource =
Nothing
0911.
bnRecord.Text =
"0"
0912.
bnCount.Text =
"0"
0913.
0914.
tsAdd.Enabled =
True
0915.
tsOK.Enabled =
False
0916.
0917.
bn.Enabled =
True
0918.
0919.
tsSearch.Focus()
0920.
tsSearch.SelectAll()
0921.
0922.
If
(iSubjectDetail =
False
)
Then
0923.
bgwPeople.RunWorkerAsync()
0924.
End
If
0925.
Catch
ex
As
Exception
0926.
tr.Rollback()
0927.
MessageBox.Show(
"เกิดข้อผิดพลาด เนื่องจาก "
& ex.Message,
"ผลการทำงาน"
, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
0928.
End
Try
0929.
tsSearch.Enabled =
True
0930.
End
If
0931.
End
Sub
0932.
0933.
Private
Sub
tsCancel_Click(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
0934.
tsAdd.Enabled =
True
0935.
If
ActionFlag =
"ADD"
Then
0936.
tsOK.Enabled =
False
0937.
0938.
Else
0939.
tsOK.Enabled =
True
0940.
0941.
End
If
0942.
bn.Enabled =
False
0943.
tsOK.Enabled =
False
0944.
0945.
0946.
ClearCustomer()
0947.
If
(iSubjectDetail =
True
)
Then
0948.
Me
.Close()
0949.
End
If
0950.
tsSearch.Enabled =
True
0951.
tsSearch.Focus()
0952.
tsSearch.SelectAll()
0953.
End
Sub
0954.
Private
Sub
cboPreT_KeyPress(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.Windows.Forms.KeyPressEventArgs)
Handles
cboPreT.KeyPress
0955.
e.Handled =
True
0956.
End
Sub
0957.
Private
Sub
cboPreE_KeyPress(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.Windows.Forms.KeyPressEventArgs)
Handles
cboPreE.KeyPress
0958.
e.Handled =
True
0959.
End
Sub
0960.
Private
Sub
cboType_KeyPress(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.Windows.Forms.KeyPressEventArgs)
Handles
cboType.KeyPress
0961.
e.Handled =
True
0962.
End
Sub
0963.
Private
Sub
cboDep1_KeyPress(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.Windows.Forms.KeyPressEventArgs)
Handles
cboDep1.KeyPress
0964.
e.Handled =
True
0965.
End
Sub
0966.
Private
Sub
cboDep2_KeyPress(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.Windows.Forms.KeyPressEventArgs)
Handles
cboDep2.KeyPress
0967.
e.Handled =
True
0968.
End
Sub
0969.
Private
Sub
frmPeople_FormClosed(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.Windows.Forms.FormClosedEventArgs)
Handles
MyBase
.FormClosed
0970.
If
Conn IsNot
Nothing
Then
0971.
Conn.Close()
0972.
End
If
0973.
End
Sub
0974.
0975.
Private
Sub
tsEdit_Click(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
0976.
If
(txtFnameT.Text.Trim() =
""
)
OrElse
(txtFnameE.Text.Trim() =
""
)
Then
0977.
MessageBox.Show(
"กรุณาป้อนข้อมูลให้ครบ"
,
"ผลการตรวจสอบ"
, MessageBoxButtons.OK, MessageBoxIcon.Warning)
0978.
txtFnameT.Focus()
0979.
Exit
Sub
0980.
End
If
0981.
0982.
If
MessageBox.Show(
"คุณต้องการแก้ไขข้อมูลลูกค้า ใช่หรือไม่?"
,
"คำยืนยัน"
, MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes
Then
0983.
sw.Reset()
0984.
sw.Start()
0985.
tr = Conn.BeginTransaction()
0986.
0987.
Try
0988.
If
(IsPictureChange =
True
)
AndAlso
(peoplePicture <>
""
)
Then
0989.
fs =
New
FileStream(peoplePicture, FileMode.Open, FileAccess.Read)
0990.
ReDim
CurrentImage(
CInt
(fs.Length))
0991.
fs.Read(CurrentImage, 0,
CInt
(fs.Length - 1))
0992.
fs.Close()
0993.
Else
0994.
CurrentImage =
New
Byte
() {}
0995.
End
If
0996.
0997.
sb.Remove(0, sb.Length())
0998.
0999.
sb.Append(
"UPDATE tbl_people"
)
1000.
sb.Append(
" SET preTID=@preTID,"
)
1001.
sb.Append(
" preEID=@preEID,"
)
1002.
sb.Append(
" FnameT=@FnameT,"
)
1003.
sb.Append(
" LnameT=@LnameT,"
)
1004.
sb.Append(
" FnameE=@FnameE,"
)
1005.
sb.Append(
" LnameE=@LnameE,"
)
1006.
sb.Append(
" Sname=@Sname,"
)
1007.
sb.Append(
" Sex=@Sex,"
)
1008.
sb.Append(
" typeID=@typeID,"
)
1009.
sb.Append(
" campusID=@campusID,"
)
1010.
sb.Append(
" dep1ID=@dep1ID,"
)
1011.
sb.Append(
" dep2ID=@dep2ID,"
)
1012.
sb.Append(
" tel=@tel,"
)
1013.
sb.Append(
" mobile=@mobile,"
)
1014.
sb.Append(
" emailU1=@emailU1,"
)
1015.
sb.Append(
" emailU2=@emailU2,"
)
1016.
sb.Append(
" emailP1=@emailP1,"
)
1017.
sb.Append(
" emailP2=@emailP2"
)
1018.
sb.Append(
" position=@position,"
)
1019.
sb.Append(
" Remark=@Remark,"
)
1020.
sb.Append(
" toStudy=@toStudy,"
)
1021.
sb.Append(
" toWork=@toWork,"
)
1022.
sb.Append(
" toPortfolio=@toPortfolio,"
)
1023.
sb.Append(
" WHERE (peopleID=@peopleID)"
)
1024.
Dim
sqlOK
As
String
1025.
sqlOK = sb.ToString
1026.
1027.
With
com
1028.
.CommandText = sqlOK
1029.
.Transaction = tr
1030.
.Parameters.Clear()
1031.
.Parameters.Add(
"@peopleID"
, SqlDbType.NVarChar).Value = lblPeopleID.Text
1032.
.Parameters.Add(
"@preTID"
, SqlDbType.NVarChar).Value =
CStr
(cboPreT.SelectedValue)
1033.
.Parameters.Add(
"@preEID"
, SqlDbType.NVarChar).Value =
CStr
(cboPreE.SelectedValue)
1034.
.Parameters.Add(
"@typeID"
, SqlDbType.NVarChar).Value =
CStr
(cboType.SelectedValue)
1035.
.Parameters.Add(
"@dep1ID"
, SqlDbType.NVarChar).Value =
CStr
(cboDep1.SelectedValue)
1036.
.Parameters.Add(
"@dep2ID"
, SqlDbType.NVarChar).Value =
CStr
(cboDep2.SelectedValue)
1037.
.Parameters.Add(
"@campusID"
, SqlDbType.NVarChar).Value =
CStr
(cboCampus.SelectedValue)
1038.
.Parameters.Add(
"@FnameT"
, SqlDbType.NVarChar).Value = txtFnameT.Text.Trim()
1039.
.Parameters.Add(
"@FnameE"
, SqlDbType.NVarChar).Value = txtFnameE.Text.Trim()
1040.
.Parameters.Add(
"@LnameT"
, SqlDbType.NVarChar).Value = txtLnameT.Text.Trim()
1041.
.Parameters.Add(
"@LnameE"
, SqlDbType.NVarChar).Value = txtLnameE.Text.Trim()
1042.
.Parameters.Add(
"@Sname"
, SqlDbType.NVarChar).Value = txtSname.Text.Trim()
1043.
.Parameters.Add(
"@tel"
, SqlDbType.NVarChar).Value = txttel.Text.Trim()
1044.
.Parameters.Add(
"@Remark"
, SqlDbType.NVarChar).Value = txtRemark.Text.Trim()
1045.
.Parameters.Add(
"@mobile"
, SqlDbType.NVarChar).Value = txtmobile.Text.Trim()
1046.
.Parameters.Add(
"@emailU1"
, SqlDbType.NVarChar).Value = txtemailU1.Text.Trim()
1047.
.Parameters.Add(
"@emailU2"
, SqlDbType.NVarChar).Value = txtemailU2.Text.Trim()
1048.
.Parameters.Add(
"@emailP1"
, SqlDbType.NVarChar).Value = txtemailP1.Text.Trim()
1049.
.Parameters.Add(
"@emailP2"
, SqlDbType.NVarChar).Value = txtemailP2.Text.Trim()
1050.
.Parameters.Add(
"@position"
, SqlDbType.NVarChar).Value = txtposition.Text.Trim()
1051.
.Parameters.Add(
"@toStudy"
, SqlDbType.NVarChar).Value = txttoStudy.Text.Trim()
1052.
.Parameters.Add(
"@toWork"
, SqlDbType.NVarChar).Value = txttoWork.Text.Trim()
1053.
.Parameters.Add(
"@toPortfolio"
, SqlDbType.NVarChar).Value = txttoPortfolio.Text.Trim()
1054.
1055.
If
optMale.Checked =
True
Then
1056.
.Parameters.Add(
"@Sex"
, SqlDbType.NVarChar).Value =
"F"
1057.
Else
1058.
.Parameters.Add(
"@Sex"
, SqlDbType.NVarChar).Value =
"M"
1059.
End
If
1060.
1061.
If
(IsPictureChange =
True
)
AndAlso
(peoplePicture <>
""
)
Then
1062.
.Parameters.Add(
"@peoplePicture"
, SqlDbType.Image).Value = CurrentImage
1063.
Else
1064.
.Parameters.Add(
"@peoplePicture"
, SqlDbType.Image).Value = CurrentImage
1065.
End
If
1066.
.ExecuteNonQuery()
1067.
End
With
1068.
tr.Commit()
1069.
1070.
sw.
Stop
()
1071.
ProcessTime = sw.ElapsedMilliseconds / 1000
1072.
_ToolStripLabel.Text =
"เวลาที่ใช้ : "
& ProcessTime.ToString(
"0.0000"
) &
" วินาที"
1073.
MessageBox.Show(
"แก้ไขข้อมูลบุคคล เรียบร้อยแล้ว"
,
"ผลการทำงาน"
, MessageBoxButtons.OK, MessageBoxIcon.Information)
1074.
1075.
1076.
1077.
bn.Enabled =
True
1078.
IsPictureChange =
False
1079.
tsSearch.Focus()
1080.
tsSearch.SelectAll()
1081.
Catch
ex
As
Exception
1082.
tr.Rollback()
1083.
MessageBox.Show(
"เกิดข้อผิดพลาด เนื่องจาก"
& ex.Message,
"ผลการทำงาน"
, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
1084.
End
Try
1085.
End
If
1086.
End
Sub
1087.
1088.
Private
Sub
cboCampus_SelectedValueChanged(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
cboCampus.SelectedValueChanged
1089.
iCampus.SelectedValue = cboCampus.SelectedValue
1090.
End
Sub
1091.
1092.
Private
Sub
txtposition_TextChanged(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
txtposition.TextChanged
1093.
iposition.Text = txtposition.Text()
1094.
End
Sub
1095.
1096.
Private
Sub
txtRemark_TextChanged(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
txtRemark.TextChanged
1097.
iRemark.Text = txtRemark.Text()
1098.
End
Sub
1099.
1100.
Private
Sub
txttoStudy_TextChanged(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
txttoStudy.TextChanged
1101.
itoStudy.Text = txttoStudy.Text()
1102.
End
Sub
1103.
1104.
Private
Sub
txttoWork_TextChanged(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
txttoWork.TextChanged
1105.
itoWork.Text = txttoWork.Text()
1106.
End
Sub
1107.
1108.
Private
Sub
txttoPortfolio_TextChanged(
ByVal
sender
As
System.
Object
,
ByVal
e
As
System.EventArgs)
Handles
txttoPortfolio.TextChanged
1109.
itoPortfolio.Text = txttoPortfolio.Text()
1110.
End
Sub
1111.
End
Class