| 
							- Option Explicit
 - Dim dev:dev = True
 - Dim outFile
 - Dim WaitTime:WaitTime = 15000 
 - Dim DataDirectory
 - Dim WshShell:Set WshShell = WScript.CreateObject("Wscript.Shell")
 - Dim oConn:Set oConn = WScript.CreateObject("ADODB.Connection")
 - Dim ConnectionString
 - Dim objFSO:Set objFSO = CreateObject("Scripting.FileSystemObject")
 - Dim glob:set glob = CreateObject("Chilkat_9_5_0.Global")
 - Dim success:success = glob.UnlockBundle("KENTCM.CB1022025_RGzBPM5J655e")
 - 
 - 	If (success <> 1) Then
 -     	WriteLine(glob.LastErrorText)
 -     	WScript.Quit
 - 	End If
 - 	
 - Dim objCSV:Set objCsv = CreateObject("Chilkat_9_5_0.Csv")
 - Dim WorkingDirectory:WorkingDirectory = Replace(WScript.ScriptFullName,WScript.ScriptName,"")
 - 	If dev Then 
 - 		DataDirectory = WorkingDirectory & "test"
 - 		ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=F:\Development\Tracking_Kits\Data\webdata - Copy.mdb;"
 - 		set outFile = objFSO.CreateTextFile("\\kci-syn-cl01\PC Transfer\TrackingDataExport\temp.csv",True)
 - 	Else
 - 		DataDirectory = "\\kci-syn-cl01\PC Transfer\TrackingDataImport"
 - 		ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=C:\inetpub\Data\webdata - Copy.mdb;"
 - 		set outFile = objFSO.CreateTextFile("\\kci-syn-cl01\PC Transfer\TrackingDataExport\temp.csv",True)
 - 	End If
 - 	
 - 
 - 	
 - 	Dim KitID
 - 	CheckForFiles
 - 	KitID = CheckForJobsToCass()
 - 		If KitID > 0 Then
 - 	    ExportMMCsv(KitID)
 - 	    RunMailManager
 - 	    ImportCass
 - 	End If
 - 'oConn.Open(ConnectionString)
 - 	KitID = CheckForReadyToLabel()
 - 	If KitID > 0 Then
 - 		createTrackingInfoForKit(KitID)
 - 	End If
 - 	 
 - 	WScript.Quit
 - 
 - Function createTrackingInfoForKit(KitID)
 - Dim KitRs:set KitRs = oConn.Execute("Select * from Kit Where ID =" & KitID & ";")
 - Dim InkjetRs:Set InkjetRs = oConn.Execute("Select * from InkjetRecords Where KitID =" & KitID & ";")
 - Dim SerialNumberStart:SerialNumberStart = GetSetting("SerialNumberStart")
 - Dim serialOffset:serialOffset = GetSetting("SerialOffset")
 - Dim serialStart:serialStart = CLng(GetSetting("SerialNumberStart")) + CLng(GetSetting("SerialOffset"))
 - Dim Counter:Counter=0
 - Dim KitLabelID
 - Dim KitLabelRs
 - Dim Step : If KitRs("InboundSTID") <> "" Then : Step = 2  : Else Step = 1
 - serialStart = PadLeft(serialStart + CLng(Counter),9,"0")
 - While Not InkjetRs.EOF
 - 
 - 	If Step = 1 Then
 - 		oConn.Execute("INSERT INTO KitLabels (KitID,OutboundSerial,OutboundIMBDigits) " &_
 - 			  			"VALUES(" & KitID & ",'" & serialStart & "','" & KitRs("OutBoundSTID").Value & serialStart & "000000000" & "');")
 - 	Set KitLabelRs = oConn.Execute("SELECT TOP 1 [ID] FROM KitLabels ORDER BY ID DESC")
 - 	KitLabelID = KitLabelRs("ID").Value
 - 	oConn.Execute("UPDATE InkjetRecords Set [KitLabelID]=" & KitLabelID & " WHERE ID=" & InkjetRs("ID") & ";")
 - 	serialStart = serialStart + 1
 - 	Else 
 - 	'	oConn.Execute("INSERT INTO KitLabels (KitID,OutboundSerial,InBoundSerial,OutbondIMBDigitds,InBoundIMBDigits) " &_
 - 	'		  			"VALUES(" & KitID & ",' & ")
 - 	End If 
 - InkjetRs.MoveNext
 - Wend
 - 
 - 
 - End Function
 - 
 - Function GetSetting(settingName)
 - 
 - Dim rs:Set rs = oConn.Execute("Select Value From [Settings] Where [Name] = '" & settingName & "';")
 - 
 - 	If Not rs.EOF Then
 - 		GetSetting = rs(0).value
 - 		rs.Close
 - 	Else
 - 		SetSetting = 0
 - 		rs.Close
 - 	End If
 - 	
 - 
 - End Function 
 - 
 - 
 - 
 - Function CheckForReadyToLabel()
 - 
 - Dim rs : set rs = oConn.Execute("Select TOP 1 ID from Kit Where Status ='Ready to Assign Labels' ORDER BY ID DESC;")
 - 		If Not rs.EOF Then
 - 			Dim kitId : kitId = rs("ID").value
 - 			rs.Close
 - 			CheckForReadyToLabel = KitID
 - 			 oConn.Execute("UPDATE Kit SET Status ='Applying Serial Numbers' WHERE ID =" & KitID & ";")
 - 		Else 
 - 			CheckForReadyToLabel = 0
 - 		End If 
 - End Function
 - 
 - 
 - Function CheckForFiles()
 - 
 - 	
 - 	If objFSO.FolderExists(DataDirectory) Then
 - 		Dim objFolder:Set objFolder = objFSO.GetFolder(DataDirectory)
 - 	    
 - 	    	If objFolder.Files.Count > 0 Then
 -         		'WScript.Echo "Files found in directory: " & DataDirectory
 -         		Dim objFile
 -         		For Each objFile In objFolder.Files
 -         			Dim CsvString:CsvString = ConvertCsvToString(objFile.Path)
 -             		If ValidImportCSV(CsvString) Then
 -             			SetupKit CsvString,objFile.Name
 -             			objFSO.MoveFile objFile.Path, DataDirectory & "\import\" & objFile.Name
 -             		End If 
 -         		Next
 -     		Else
 -         		'WScript.Echo "No files found in directory: " & DataDirectory
 -     		End If
 - 	
 - 	End If 
 - End Function 
 - 
 - Function ValidJcode(jcode)
 - Dim oConn
 - Set oConn = WScript.CreateObject("ADODB.Connection")
 - oConn.ConnectionString = ConnectionString
 - oConn.Open
 - Dim oRs
 - set oRs = oConn.Execute("Select * from Jurisdiction Where [JCode] = '" & jcode & "';")
 - If oRs.EOF Then 
 - 	ValidJcode = 0
 - Else
 - 	ValidJcode = 1
 - End If  
 - oRs.Close
 - oConn.Close
 - End Function
 - 
 - 
 - Function SetupKit(CsvString,FileName)
 - Dim JobNumber:JobNumber = Mid(FileName,9,6)
 - Dim JCode:JCode = Left(Filename,5)
 - 	If IsNumeric(JobNumber) Then
 - 		If ValidJcode(JCode) Then
 - 			WScript.Echo FileName & " Is a Valid CSV for Importing"
 - 			Dim oConn:Set oConn = WScript.CreateObject("ADODB.Connection")
 - 			oConn.ConnectionString = ConnectionString
 - 			oConn.Open
 - 			oConn.Execute("Insert Into Kit ([JobNumber], [Jcode], [CreatedOn], [JobType],[Filename],[Status]) VALUES ('" & JobNumber & "','" & JCode & "',#" & Now() & "#,'Purple Envelopes','" & FileName & "','Importing');") 
 - 			Dim rs : set rs = oConn.Execute("Select TOP 1 ID from Kit ORDER BY ID DESC")
 - 			Dim kitId : kitId = rs("ID").value
 - 			rs.close
 - 			Dim i
 - 			For i = 1 To objCSV.NumRows -1
 - 			oConn.Execute("Insert Into [InkjetRecords] (KitID,VOTERID,LASTNAME,FIRSTNAME,MIDDLENAME" & _
 - 			",SUFFIX,PRECINCT,ADDRESS1,ADDRESS2,ADDRESS3,ADDRESS4,ADDRESS5,APPSENT,APPRETURNED,BALSENT,BALRETURNED" & _
 - 			",CountingBoard,UOCAVASTATUS,EMAILADDRESS,PHONENUMBER,BALLOT_NUMBER) VALUES (" & kitId & _
 - 			",'" & Replace(objCSV.GetCell(i,0),"'","''") & _
 - 			"','" & objCsv.GetCell(i,1) & _
 - 			"','" & Replace(objCSV.GetCell(i,2),"'","''") & _
 - 			"','" & Replace(objCSV.GetCell(i,3),"'","''") & _
 - 			"','" & Replace(objCSV.GetCell(i,4),"'","''") & _
 - 			"','" & Replace(objCSV.GetCell(i,5),"'","''") & _
 - 			"','" & Replace(objCSV.GetCell(i,6),"'","''") & _
 - 			"','" & Replace(objCSV.GetCell(i,7),"'","''") & _
 - 			"','" & Replace(objCSV.GetCell(i,8),"'","''") & _
 - 			"','" & Replace(objCSV.GetCell(i,9),"'","''") & _
 - 			"','" & Replace(objCSV.GetCell(i,10),"'","''") & _
 - 			"','" & Replace(objCSV.GetCell(i,11),"'","''") & _
 - 			"','" & Replace(objCSV.GetCell(i,12),"'","''") & _
 - 			"','" & Replace(objCsv.GetCell(i,13),"'","''") & _
 - 			"','" & objCsv.GetCell(i,14) & _
 - 			"','" & objCsv.GetCell(i,15) & _
 - 			"','" & objCsv.GetCell(i,16) & _
 - 			"','" & objCsv.GetCell(i,17) & _
 - 			"','" & objCsv.GetCell(i,18) & _
 - 			"','" & objCsv.GetCell(i,19) & _
 - 			"')")
 - 			Next
 - 			oConn.Execute("Update Kit SET [Status] = 'Ready to Cass' Where ID = " & kitId &";")
 - 			'oConn.Close
 - 		End If
 - 	End If
 - 	
 - 	
 - 
 - End Function 
 - Function ConvertCsvToString(FilePath)
 - 	Dim objFSO:Set objFSO = CreateObject("Scripting.FileSystemObject")
 - 	Dim objCsvFile:set objCsvFile = objFSO.OpenTextFile(FilePath)
 - 	Dim strContent:strContent = ""
 - 	Dim intLineCount:intLineCount = 0
 - 	    Do Until objCsvFile.AtEndOfStream Or intLineCount >= 3
 - 			objCsvFile.SkipLine
 - 			intLineCount = intLineCount + 1
 - 		Loop
 - 	    ' Read the remaining content into a string
 - 
 - 			Do Until objCsvFile.AtEndOfStream
 - 			Dim strLine:strLine = objCsvFile.ReadLine
 - 			strContent = strContent & strLine & vbCrLf
 - 		Loop
 - 
 - ConvertCsvToString = strContent
 - End Function 
 - 
 - Function ValidImportCSV(CsvFileAsString)
 - 	objCSV.LoadFromString(CsvFileAsString)
 - 	If objCSV.NumColumns = 20 Then
 - 	debug.WriteLine objCsv.GetCell(1,1)
 - 		ValidImportCSV = True
 - 	Else
 - 		ValidImportCSV = False
 - 	End If
 - End Function
 - 
 - Sub ImportCass
 - 	Dim currentRow
 - 	objCsv.LoadFile("\\kci-syn-cl01\PC Transfer\TrackingDataExport\FROM_MM.CSV")
 - 
 - 	For currentRow = 0 To objCsv.NumRows -1
 - 	oConn.Execute("UPDATE InkJetRecords SET CassADDRESS1 = '" & Replace(objCsv.GetCell(currentRow,1),"'","''") & "', " &_ 
 - 	              "CassADDRESS2 = '" & Replace(objCSV.GetCell(currentRow,3),"'","''") & "', " &_
 - 	              "CassADDRESS3 = '" & Replace(objCSV.GetCell(currentRow,4),"'","''") & "', " &_
 - 	              "CassADDRESS4 = '" & Replace(objCSV.GetCell(currentRow,5),"'","''") & "', " &_
 - 	              "CassADDRESS5 = '" & Replace(objCsv.GetCell(currentRow,6) & ", " & objCsv.GetCell(currentRow,7) & " " & objCsv.GetCell(currentRow,8),"'","''") & "'" &_
 - 	              " WHERE ID = " & objCSV.GetCell(currentRow,0) & ";")
 - 		
 - 	Next
 - 
 - 			 oConn.Execute("UPDATE Kit SET Status ='Ready To Assign STIDS' WHERE ID =" & KitID & ";")
 - 			 oConn.Execute("UPDATE Kit SET [Cass] = 1 WHERE ID =" & KitID & ";")
 - End Sub
 - 
 - Sub RunMailManager
 - 	'WshShell.Run "\\MM2012\APPS\BCC\MM2010\mailman.exe -p -j MMJOB.mjb -u DAN",1,True
 - 	WshShell.Run "PsExec64.exe -i -e -u ntp\danielc -p SunBrightShine! \\MarkH2 ""\\MM2012\APPS\BCC\MM2010\mailman.exe"" -p -j MMJOB.mjb -u DAN",1,True
 - End Sub
 - Sub ExportMMCsv(KitId)
 - 	
 - 	Dim success
 - 	objCsv.HasColumnNames = 1
 - 	objCSV.EnableQuotes = 1
 - 	success = objCsv.SetColumnName(0,"ID")
 - 	success = objCsv.SetColumnName(1,"NAME")
 - 	success = objCsv.SetColumnName(2,"ADDRESS1")
 - 	success = objCsv.SetColumnName(3,"ADDRESS2")
 - 	success = objCsv.SetColumnName(4,"ADDRESS3")
 - 	success = objCsv.SetColumnName(5,"ADDRESS4")
 - 	success = objCsv.SetColumnName(6,"ADDRESS5")
 -  	Dim rs : Set rs = oConn.Execute("Select ID," & _ 
 -  								 "IIF(FIRSTNAME IS NULL,'',FIRSTNAME & ' ') & " & _
 -  								 "IIF(MIDDLENAME IS NULL,'',MIDDLENAME & ' ') & " & _
 -  								 "IIF(LASTNAME IS NULL,'',LASTNAME & ' ') & " & _
 -  								 "IIF(SUFFIX IS NULL,'',SUFFIX & ' ') " & _
 -  								 "AS NAME, ADDRESS1,ADDRESS2,ADDRESS3,ADDRESS4,ADDRESS5 FROM InkjetRecords WHERE KitID =" & KitID & " ORDER By ID;")
 - 		Dim CurrentRow:CurrentRow = 0 
 - 		While Not rs.EOF
 - 			objCSV.SetCell CurrentRow,0,rs("ID").value
 - 			objCSV.SetCell CurrentRow,1,rs("NAME").value 
 - 			objCSV.SetCell CurrentRow,2,rs("ADDRESS1").value 
 - 			objCSV.SetCell CurrentRow,3,rs("ADDRESS2").value 
 - 			objCSV.SetCell CurrentRow,4,rs("ADDRESS3").value 
 - 			objCSV.SetCell CurrentRow,5,rs("ADDRESS4").value 
 - 			objCSV.SetCell CurrentRow,6,rs("ADDRESS5").value  
 - 			rs.MoveNext
 - 			CurrentRow = CurrentRow +1
 - 		Wend
 - 		Dim CsvString:CsvString = objCSV.SaveToString()
 - 		outFile.WriteLine CsvString
 - 		outFile.Close
 - 
 - End Sub
 - Function CheckForJobsToCass()
 - oConn.ConnectionString = ConnectionString
 - oConn.Open
 - 
 - 	'oConn.Open
 - 	Dim rs : set rs = oConn.Execute("Select TOP 1 ID from Kit Where Status ='Ready to Cass' ORDER BY ID DESC;")
 - 		If Not rs.EOF Then
 - 			Dim kitId : kitId = rs("ID").value
 - 			rs.Close
 - 			CheckForJobsToCass = KitID
 - 			 oConn.Execute("UPDATE Kit SET Status ='Cassing' WHERE ID =" & KitID & ";")
 - 		Else 
 - 			CheckForJobsToCass = 0
 - 		End If 
 - 	'oConn.Close
 - End Function
 - 
 - Public Function PadLeft(originalString,desiredLength,Char)
 - Dim padLength
 -     padLength = desiredLength - Len(originalString)
 -     If padLength > 0 Then
 -     ' Left pad the string with zeros
 -     PadLeft = String(padLength, Char) & originalString
 - Else
 -     ' If the original string is already longer or equal to the desired length, no padding is needed
 -     PadLeft = originalString
 - End If
 - 
 - End Function
 
 
  |