Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Imports Microsoft.VisualBasic
- Imports System.Net
- Imports System.IO
- Imports System.Xml
- Imports Newtonsoft.Json
- Imports Newtonsoft.Json.Linq
- Namespace ThirdParty_Integration_ABX
- Public Class Service
- 'Use for update/get details
- Public sLocalConnStr As String = ""
- Public sEntityID As String = ""
- Public sCredentialSID As String = "" 'WsUser3rdPartySID
- Public sStationSID As String = "" 'WSUserDebtorSID
- Public sDBSID As String = "" 'WsUser3rdPartyDBSID
- Public Connstr As String = ""
- Public sCustomerCode As String = ""
- Public bIstest As Boolean = False
- Dim sEndPointURL As String = "https://abxexpress.com.my/track_web.asp?search=True&itemHAWB"
- #Region "UserSetting"
- Property Istest() As Boolean
- Get
- Return bIstest
- End Get
- Set(value As Boolean)
- bIstest = value
- If bIstest = True Then
- sEndPointURL = ""
- Else
- sEndPointURL = "https://abxexpress.com.my/track_web.asp?search=True&itemHAWB="
- End If
- End Set
- End Property
- Property LocalConnStr() As String
- Get
- Return sLocalConnStr
- End Get
- Set(ByVal value As String)
- sLocalConnStr = value
- End Set
- End Property
- Property DBSID() As String
- Get
- Return sDBSID
- End Get
- Set(ByVal value As String)
- sDBSID = value
- End Set
- End Property
- #End Region
- Public Function HttpPost(ByVal strRequest As String) As String
- Dim returnresult As String = ""
- Dim myHttpWebRequest As HttpWebRequest = CType(WebRequest.Create(strRequest), HttpWebRequest)
- myHttpWebRequest.Method = "GET"
- 'myHttpWebRequest.ContentType = "text/html"
- Dim myHttpWebResponse As HttpWebResponse
- myHttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)
- Dim streamResponse As IO.Stream
- streamResponse = myHttpWebResponse.GetResponseStream()
- Dim streamRead As IO.StreamReader
- streamRead = New IO.StreamReader(streamResponse)
- 'read response as string
- returnresult = streamRead.ReadToEnd()
- Return returnresult
- End Function
- Public Function GetTracking(ByVal trackingReq As TrackingRequest) As TrackingResponse()
- Dim objTrackingResponse(0) As TrackingResponse
- Dim clsbss As New cls_business
- Dim trackinglist(0) As TrackingResponseDetails
- Dim Count As Integer = 0
- Dim requeststring As String = ""
- Dim responsestring As String = ""
- Dim intTempTracking As Long = 0
- Dim intStartTracking As Long = 0
- Dim intEndTracking As Long = 0
- Dim intERR As Long = 0
- Dim trackevent As String = ""
- Dim trackingdate As String = ""
- Dim trackingtime As String = ""
- Dim trackdate As String = ""
- Dim ContinueLoop As Boolean = True
- requeststring = sEndPointURL & "=" & trackingReq.TrackingNumber
- responsestring = HttpPost(requeststring)
- If responsestring <> "" Then
- Try
- intTempTracking = InStr(1, responsestring, "first-list", CompareMethod.Text)
- If intTempTracking > 0 Then
- intERR = InStr(intTempTracking, responsestring, "<div class=""title"">SORRY</div>", CompareMethod.Text)
- If intERR = 0 Then
- Do While ContinueLoop = True
- ReDim Preserve trackinglist(Count)
- trackinglist(Count) = New TrackingResponseDetails
- If intTempTracking > 0 Then
- intTempTracking = InStr(intTempTracking, responsestring, "<div Class=""info"">", CompareMethod.Text)
- intStartTracking = intTempTracking + Len("<div Class=""info"">")
- intEndTracking = InStr(intStartTracking, responsestring, "</div>", CompareMethod.Text)
- trackevent = Mid(responsestring, intStartTracking, intEndTracking - intStartTracking).Trim
- End If
- If intEndTracking > 0 Then
- intTempTracking = InStr(intEndTracking, responsestring, "<div class=""time"">", CompareMethod.Text)
- intTempTracking = InStr(intTempTracking, responsestring, "<span>", CompareMethod.Text)
- intStartTracking = intTempTracking + Len("<span>") 'date start'
- intEndTracking = InStr(intStartTracking, responsestring, "</span>", CompareMethod.Text) 'date end'
- trackingdate = Mid(responsestring, intStartTracking, intEndTracking - intStartTracking).Trim
- intTempTracking = InStr(intTempTracking, responsestring, "<span style=""color:grey"">", CompareMethod.Text) 'time start'
- intStartTracking = intTempTracking + Len("<span style=""color:grey"">") 'time start'
- intEndTracking = InStr(intStartTracking, responsestring, "</span>", CompareMethod.Text) 'time end'
- trackingtime = Mid(responsestring, intStartTracking, intEndTracking - intStartTracking).Trim
- trackdate = (trackingdate & " " & trackingtime)
- trackinglist(Count).TrackingDate = CDate(trackdate).ToString("yyyy-MM-dd HH:mm:ss")
- End If
- intEndTracking = InStr(intEndTracking, responsestring, "</ul>", CompareMethod.Text)
- If intEndTracking = 0 Then
- ContinueLoop = False
- End If
- Count += 1
- Loop
- End If
- End If
- Catch ex As Exception
- trackinglist(0) = New TrackingResponseDetails
- trackinglist(0).TrackingError &= ex.Message
- End Try
- End If
- objTrackingResponse(0) = New TrackingResponse
- objTrackingResponse(0).TrackingDetail = trackinglist
- Return objTrackingResponse
- End Function
- End Class
- End Namespace
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement