98 lines
3.8 KiB
VB.net
98 lines
3.8 KiB
VB.net
Imports Microsoft.VisualBasic
|
|
|
|
Public Class Ps
|
|
Public Shared Function GetRankLevel(Optional ByVal Pid As String = "") As Integer
|
|
Dim userId As String = ""
|
|
If Pid = "" Then
|
|
userId = BaseClasses.Utils.SecurityControls.GetCurrentUserID()
|
|
Else
|
|
userId = Pid
|
|
End If
|
|
If userId = "" Then
|
|
Return 0
|
|
End If
|
|
Dim rec As PersonalIdRecord = PersonalIdTable.GetRecord("PersonalId='" & userId & "'")
|
|
Dim rec1 As RankRecord = RankTable.GetRecord("RankId=" & rec.RankId)
|
|
Return rec1.RankLevel
|
|
End Function
|
|
|
|
Public Shared Function GetRank(ByVal RankId As Integer, Optional ByVal ShortRank As Boolean = False) As String
|
|
Dim Rank As String = ""
|
|
Dim rec As RankRecord = RankTable.GetRecord("RankId=" & RankId)
|
|
If Not rec Is Nothing Then
|
|
Rank = rec.ShortRankNormal
|
|
End If
|
|
Return Rank
|
|
End Function
|
|
Public Shared Function GetDept(ByVal DeptId As Integer) As String
|
|
GetDept = ""
|
|
Dim rec As DeptRecord = DeptTable.GetRecord("DeptId=" & DeptId)
|
|
If Not rec Is Nothing Then
|
|
GetDept = rec.DeptAbbvr
|
|
Else
|
|
End If
|
|
End Function
|
|
Public Shared Function GetSectionAbbvrNameByDeptId(ByVal DeptId As Integer) As String
|
|
GetSectionAbbvrNameByDeptId = ""
|
|
Dim rec As DeptRecord = DeptTable.GetRecord("DeptId=" & DeptId)
|
|
Dim rec1 As SectionRecord = SectionTable.GetRecord("SectionId=" & rec.SectionId)
|
|
GetSectionAbbvrNameByDeptId = rec1.SectionAbbvrName
|
|
End Function
|
|
Public Shared Function GetName(ByVal pid As String) As String
|
|
GetName = ""
|
|
Dim recId As PersonalIdRecord = PersonalIdTable.GetRecord("PersonalId='" & pid & "'")
|
|
Dim recRank As RankRecord = RankTable.GetRecord("RankId=" & recId.RankId)
|
|
|
|
'25/11/54
|
|
' If Not recId Is Nothing AndAlso Not recRank Is Nothing Then
|
|
' GetName = recRank.ShortRankNormal & recId.PersonalName & " " & recId.PersonalLastName
|
|
' End If
|
|
|
|
If recId.Sex = 2 And (recId.RankId < 34 Or recId.RankId > 36 And recId.RankId <= 57) Then
|
|
GetName = Trim(recRank.ShortRankNormal & "หญิง " & recId.PersonalName & " " & recId.PersonalLastName & " " & recRank.suffix)
|
|
Else
|
|
GetName = Trim(recRank.ShortRankNormal & recId.PersonalName & " " & recId.PersonalLastName & " " & recRank.suffix)
|
|
End If
|
|
|
|
End Function
|
|
|
|
Public Shared Function ChingePID(ByVal pid As String, ByVal npid As String) As Integer
|
|
Dim myConnection As System.Data.SqlClient.SqlConnection
|
|
Dim myCommand As New System.Data.SqlClient.SqlCommand
|
|
Dim result As Integer
|
|
myConnection = CType(BaseClasses.Data.SqlProvider.SqlTransaction.GetExistingTransaction().GetADOConnectionByName("DatabasePersons1"), System.Data.SqlClient.SqlConnection)
|
|
|
|
'Specify the name of the Stored Procedure which is to be run
|
|
|
|
myCommand.Connection = myConnection
|
|
myCommand.CommandType = System.Data.CommandType.StoredProcedure
|
|
myCommand.CommandTimeout = 15
|
|
|
|
'myCommand.ExecuteScalar()
|
|
myCommand.Parameters.AddWithValue("@pid", pid)
|
|
myCommand.Parameters.AddWithValue("@NewPid", npid)
|
|
myCommand.CommandText = "ChangePid"
|
|
result = myCommand.ExecuteNonQuery
|
|
|
|
Return result
|
|
|
|
End Function
|
|
|
|
Public Shared Function IsPid(ByVal id As String) As Boolean
|
|
If Len(id) = 13 Then
|
|
Dim i As Integer
|
|
Dim sum As Integer
|
|
For i = 1 To 12
|
|
sum = sum + CInt(Mid(id, i, 1)) * (14 - i)
|
|
Next
|
|
If (11 - (sum Mod 11)) Mod 10 = CInt(Mid(id, i, 13)) Then
|
|
Return True
|
|
Else
|
|
Return False
|
|
'Return True
|
|
End If
|
|
End If
|
|
|
|
End Function
|
|
|
|
End Class
|