Private Sub JobDone (Job As HttpJob)
Dim OrigFormat As String=DateTime.DateFormat 'save orig date format
DateTime.DateFormat="dd-MMM-yyyy HH:mm:ss"
Dim MyDate As String=DateTime.Date(DateTime.Now)
DateTime.DateFormat=OrigFormat
Log("Started ActivityList Job Done " & MyDate)
Dim x As Int = Job.tag
Log(x)
If Job.Success Then
Dim Headers As Map= Job.HTag
Dim v As String = Headers.Get("Content-MD5")
Dim IMS As String = Headers.Get("Is-Modified-Since")
'Dim NewActCount As String = Headers.Get("X-ActivityCount")
Dim y As String = Job.GetString
Log(y)
Dim md As MessageDigest
Dim ByteCon As ByteConverter
Dim passwordhash() As Byte
passwordhash = md.GetMessageDigest(y.GetBytes("UTF8"),"MD5")
Dim md5string As String
md5string = ByteCon.HexFromBytes(passwordhash)
v = v.SubString2(1,v.Length - 1)
If md5string <> v Then
Job.Release
Main.ActivityListInProgress = False
StartService(ServicePolling)
Return
End If
'Parse JSON
Dim parser As JSONParser
parser.Initialize(y)
SQL1.ExecNonQuery("Delete From tmpActivityList")
If y <> "{""ActivityList"": ]}" Then
Try
Dim root As Map = parser.NextObject
Catch
Job.Release
Main.ActivityListInProgress = False
SQL1.ExecNonQuery("Update Parameters Set strActivityListDate = '" & IMS & "', strActivityListNextPoll = '" & MyDate & "'")
Return
End Try
Dim ActivityList As List = root.Get("ActivityList")
SQL1.BeginTransaction
Try
For Each colActivityList As Map In ActivityList
Dim Col1 As String = colActivityList.Get("PropertyfK")
Dim Col2 As String = colActivityList.Get("dteLastAmended")
Dim Col3 As String = colActivityList.Get("strInspectionType")
Dim Col4 As String = colActivityList.Get("dtePlannedActivity")
Dim Col5 As String = colActivityList.Get("strActivityType")
Dim Col6 As String = colActivityList.Get("Address")
Dim Col7 As String = colActivityList.Get("ActivityPK")
Dim Col8 As String = colActivityList.Get("strAccommodationID")
Dim Col9 As String = colActivityList.Get("dtePlannedActivity")
Col9 = Col9.SubString2(6,10) & Col9.SubString2(3,5) & Col9.SubString2(0,2) & Col9.SubString2(11,13) & Col9.SubString2(14,16)
Dim SQL As String = "INSERT INTO tmpActivityList (PropertyFK, dteLastAmended, strInspectionType, dtePlannedActivity, strActivityType, Address, ActivityPK, strAccommodationID, dtePlannedActivityOrder) "
SQL = SQL & " VALUES ('" & RepApp(Col1) & "', '" & RepApp(Col2) & "', '" & RepApp(Col3) & "', '" & RepApp(Col4) & "', '" & RepApp(Col5) & "', '" & RepApp(Col6) & "', '" & RepApp(Col7) & "', '" & RepApp(Col8) & "', '" & RepApp(Col9) & "')"
SQL1.ExecNonQuery(SQL)
Next
SQL1.ExecNonQuery("Update Parameters Set strActivityListDate = '" & IMS & "', strActivityListNextPoll = '" & MyDate & "'")
SQL1.TransactionSuccessful
Catch
Log(LastException.IsInitialized)
End Try
SQL1.EndTransaction
Else
SQL1.ExecNonQuery("Update Parameters Set strActivityListDate = NULL Where id = 1")
End If
SQL1.ExecNonQuery("Update Parameters Set strLastSuccessfulActivityList = '" & MyDate & "'")
Log("Got Activity List")
Main.ActivityListInProgress = False
'Update Veco with versions of activities here
If Main.ConfirmationInProgress = False Then
Main.ConfirmationInProgress = True
SendConfirmation.Initialize
CallSub(SendConfirmation, "SendConfirmation")
End If
CompareLists
Else
Dim ResponseList As List
ResponseList.Initialize
Dim ResponseItem As JobResponse
ResponseItem.ResponseCode = Job.Tag
ResponseItem.JobType = "GetActivityList"
ResponseItem.RecordID = ""
ResponseList.Add(ResponseItem)
ResponseHandler.Initialize
CallSub2(ResponseHandler, "Handler", ResponseList)
End If
Job.Release
StartService(ServicePolling)
End Sub