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