Private Sub InsertDeltaObjects(ByVal objectType As String)
   Dim sqlQueryConnection As New SqlConnection(MIISSYNC_CONNECTION_STRING)
   Dim instructionText As String
   If objectType = “person” Then
       instructionText = “Notepad is about to open. Paste in your Staff IDs, one per row, then save and close the file.”
   ElseIf objectType = “group” Then
       instructionText = “Notepad is about to open. Paste in your Group Names, one per row, then save and close the file.”
   Else
       Exit Sub
   End If   ‘Open Notepad so the object identifiers can be pasted in
   MsgBox(instructionText, MsgBoxStyle.ApplicationModal)
   Dim myProcess As Process = System.Diagnostics.Process.Start(“notepad.exe”, ID_FILE)
   While Not myProcess.HasExited
       System.Threading.Thread.Sleep(100)
   End While
   ‘Read the identifiers into an array
   Dim myReader As New StreamReader(ID_FILE)
   Dim ids As String()
   Dim strLine As String
   i = -1
   While myReader.Peek <> -1
       strLine = myReader.ReadLine
       If strLine.Length > 0 Then
           i = i + 1
           ReDim Preserve ids(i)
           ids.SetValue(strLine, i)
       End If
   End While
   myReader.Close()
   If ids Is Nothing Then
       Exit Sub
   End If
   ‘Check the last log line
   Dim logline As String = LastLogLine()
   If logline.IndexOf(“DTS”) > 0 Then
       MsgBox(“Waiting for DTS tasks to complete…”, MsgBoxStyle.Critical)
       While logline.IndexOf(“DTS”) > 0
           System.Threading.Thread.Sleep(10000)
           logline = LastLogLine()
       End While
   End If
   ‘Run SQL inserts
   Dim msgText As String = “”
   For i = 0 To UBound(ids)
       If ids(i) <> “” Then
           If objectType = “person” Then
               sqlQueryConnection.Open()
               Dim sqlPeopleInsert As New SqlCommand(“insert into people_delta select * , ‘Modify’ from people_snapshot where staffid='” & ids(i) & “‘”, sqlQueryConnection)
               sqlPeopleInsert.ExecuteNonQuery()
               sqlQueryConnection.Close()
               sqlQueryConnection.Open()
               Dim sqlADMultiValueInsert As New SqlCommand(“insert into admultivalueobjects_delta values (” & ids(i) & “,’USER’,NULL,NULL,’Modify’,NULL)”, sqlQueryConnection)
                sqlADMultiValueInsert.ExecuteNonQuery()
                sqlQueryConnection.Close()
               sqlQueryConnection.Open()
               Dim sqlLDAPMultiValueInsert As New SqlCommand(“insert into ldapmultivalueobjects_delta values (” & ids(i) & “,’USER’,’Modify’,NULL)”, sqlQueryConnection)
               sqlLDAPMultiValueInsert.ExecuteNonQuery()
               sqlQueryConnection.Close()
               msgText = msgText & ” ” & ids(i)
            ElseIf objectType = “group” Then
               <<similar to person section, with updates relevant to group objects>>
           End If
       End If
    Next
    If msgText <> “” Then
       MsgBox(“Delta tables updated with ” & msgText & vbCrLf & “They will be included in the next Delta Imports of SchoolDB.”, MsgBoxStyle.Information)
    End If
End Sub
Private Function LastLogLine() As String
   Dim logline As String
   Dim rowReader As SqlDataReader
   Dim sqlQueryConnection As New SqlConnection(MIISSYNC_CONNECTION_STRING)
   sqlQueryConnection.Open()
   Dim sqlQuery As New SqlCommand(“select top 1 entry from ” & ACTIVITY_LOG & ” order by item desc”, sqlQueryConnection)
   rowReader = sqlQuery.ExecuteReader
   While rowReader.Read()
       logline = rowReader.GetString(0)
   End While
   rowReader.Close()
   sqlQueryConnection.Close()
   LastLogLine = logline
End Function