<% '======================================================================================================================= ' InkjetRecords Model '======================================================================================================================= Class InkjetRecordsModel_Class Public Validator Public Class_Get_Properties Public ID '90 Public KitID '122 Public VOTERID '106 Public LASTNAME '106 Public FIRSTNAME '106 Public MIDDLENAME '106 Public SUFFIX '106 Public PRECINCT '106 Public ADDRESS1 '106 Public ADDRESS2 '106 Public ADDRESS3 '106 Public ADDRESS4 '106 Public ADDRESS5 '106 Public APPSENT '106 Public APPRETURNED '106 Public BALSENT '106 Public BALRETURNED '106 Public CountingBoard '106 Public UOCAVASTATUS '106 Public EMAILADDRESS '106 Public PHONENUMBER '106 Public BALLOT_NUMBER '106 Public CassADDRESS1 '106 Public CassADDRESS2 '106 Public CassADDRESS3 '106 Public CassADDRESS4 '106 Public CassADDRESS5 '106 Private Sub Class_Initialize 'ValidateExitsts Me, "","" Class_Get_Properties = Array("ID, KitID, VOTERID, LASTNAME, FIRSTNAME, MIDDLENAME, SUFFIX, PRECINCT, ADDRESS1, ADDRESS2, ADDRESS3, ADDRESS4, ADDRESS5, APPSENT, APPRETURNED, BALSENT, BALRETURNED, CountingBoard, UOCAVASTATUS, EMAILADDRESS, PHONENUMBER, BALLOT_NUMBER, CassADDRESS1, CassADDRESS2, CassADDRESS3, CassADDRESS4, CassADDRESS5") End Sub End CLass '======================================================================================================================= ' InkjetRecords Repository '======================================================================================================================= Class InkjetRecordsRepository_Class Public Function FindByID(ID) dim sql : sql = "Select [ID], [KitID], [VOTERID], [LASTNAME], [FIRSTNAME], [MIDDLENAME], [SUFFIX], [PRECINCT], [ADDRESS1], [ADDRESS2], [ADDRESS3], [ADDRESS4], [ADDRESS5], [APPSENT], [APPRETURNED], [BALSENT], [BALRETURNED], [CountingBoard], [UOCAVASTATUS], [EMAILADDRESS], [PHONENUMBER], [BALLOT_NUMBER], [CassADDRESS1], [CassADDRESS2], [CassADDRESS3], [CassADDRESS4], [CassADDRESS5] FROM [InkjetRecords] WHERE ID = ?" dim rs : set rs = DAL.Query(sql,ID) If rs.EOF then Err.Raise 1, "InkjetRecordsRepository_Class", InkjetRecordsNotFoundException("ID", ID) Else set FindByID = Automapper.AutoMap(rs,"InkjetRecordsModel_Class") End If End Function Public Function GetAll(orderBy) set GetAll = Find(empty,orderBy) End Function Public Function Find(where_kvarray, order_string_or_array) dim sql : sql = "Select [ID], [KitID], [VOTERID], [LASTNAME], [FIRSTNAME], [MIDDLENAME], [SUFFIX], [PRECINCT], [ADDRESS1], [ADDRESS2], [ADDRESS3], [ADDRESS4], [ADDRESS5], [APPSENT], [APPRETURNED], [BALSENT], [BALRETURNED], [CountingBoard], [UOCAVASTATUS], [EMAILADDRESS], [PHONENUMBER], [BALLOT_NUMBER], [CassADDRESS1], [CassADDRESS2], [CassADDRESS3], [CassADDRESS4], [CassADDRESS5] FROM [InkjetRecords]" If Not IsEmpty(where_kvarray) then sql = sql & " WHERE " dim where_keys, where_values KVUnzip where_kvarray, where_keys, where_values dim i For i = 0 to UBound(where_keys) If i > 0 then sql = sql & " AND " sql = sql & " " & where_keys(i) & " " Next End If If Not IsEmpty(order_string_or_array) then sql = sql & "ORDER BY " If IsArray(order_string_or_array) then dim order_array : order_array = order_string_or_array For i = 0 to UBound(order_array) If i > 0 then sql = sql & ", " sql = sql & " " & order_array(i) Next Else sql = sql & order_string_or_array & " " End If End If dim rs : set rs = DAL.Query(sql, where_values) set Find = InkjetRecordsList(rs) Destroy rs End Function Public Function FindPaged(where_kvarray, order_string_or_array, per_page, page_num, ByRef page_count, ByRef record_count) dim sql : sql = "Select [ID], [KitID], [VOTERID], [LASTNAME], [FIRSTNAME], [MIDDLENAME], [SUFFIX], [PRECINCT], [ADDRESS1], [ADDRESS2], [ADDRESS3], [ADDRESS4], [ADDRESS5], [APPSENT], [APPRETURNED], [BALSENT], [BALRETURNED], [CountingBoard], [UOCAVASTATUS], [EMAILADDRESS], [PHONENUMBER], [BALLOT_NUMBER], [CassADDRESS1], [CassADDRESS2], [CassADDRESS3], [CassADDRESS4], [CassADDRESS5] FROM [InkjetRecords]" If Not IsEmpty(where_kvarray) then sql = sql & " WHERE " dim where_keys, where_values KVUnzip where_kvarray, where_keys, where_values dim i For i = 0 to UBound(where_keys) If i > 0 then sql = sql & " AND " sql = sql & " " & where_keys(i) & " " Next End If If Not IsEmpty(order_string_or_array) then sql = sql & "ORDER BY " If IsArray(order_string_or_array) then dim order_array : order_array = order_string_or_array For i = 0 to UBound(order_array) If i > 0 then sql = sql & ", " sql = sql & " " & order_array(i) Next Else sql = sql & order_string_or_array & " " End If End If dim list : set list = new LinkedList_Class dim rs : set rs = DAL.PagedQuery(sql, where_values, per_page, page_num) If Not rs.EOF and Not (IsEmpty(per_page) and IsEmpty(page_num) and IsEmpty(page_count) and IsEmpty(record_count)) then rs.PageSize = per_page rs.AbsolutePage = page_num page_count = rs.PageCount record_count = rs.RecordCount End If set FindPaged = PagedInkjetRecordsList(rs, per_page) Destroy rs End Function Public Function SearchTablePaged(where_kvarray, order_string_or_array, per_page, page_num, ByRef page_count, ByRef record_count) dim sql : sql = "Select [ID], [KitID], [VOTERID], [LASTNAME], [FIRSTNAME], [MIDDLENAME], [SUFFIX], [PRECINCT], [ADDRESS1], [ADDRESS2], [ADDRESS3], [ADDRESS4], [ADDRESS5], [APPSENT], [APPRETURNED], [BALSENT], [BALRETURNED], [CountingBoard], [UOCAVASTATUS], [EMAILADDRESS], [PHONENUMBER], [BALLOT_NUMBER], [CassADDRESS1], [CassADDRESS2], [CassADDRESS3], [CassADDRESS4], [CassADDRESS5] FROM [InkjetRecords]" If Not IsEmpty(where_kvarray) then sql = sql & " WHERE " dim where_keys, where_values KVUnzip where_kvarray, where_keys, where_values dim i For i = 0 to UBound(where_keys) If i > 0 then sql = sql & " OR" sql = sql & " " & where_keys(i) & " LIKE ?" Next End If If Not IsEmpty(order_string_or_array) then sql = sql & " ORDER BY " If IsArray(order_string_or_array) then dim order_array : order_array = order_string_or_array For i = 0 to UBound(order_array) If i > 0 then sql = sql & ", " sql = sql & " " & order_array(i) Next Else sql = sql & order_string_or_array & " " End If End If dim list : set list = new LinkedList_Class dim rs : set rs = DAL.PagedQuery(sql, where_values, per_page, page_num) If Not rs.EOF and Not (IsEmpty(per_page) and IsEmpty(page_num) and IsEmpty(page_count) and IsEmpty(record_count)) then rs.PageSize = per_page rs.AbsolutePage = page_num page_count = rs.PageCount record_count = rs.RecordCount End If set SearchTablePaged = PagedInkjetRecordsList(rs, per_page) Destroy rs End Function Private Function PagedInkjetRecordsList(rs, per_page) dim list : set list = new LinkedList_Class dim x : x =0 Do While x < per_page and Not rs.EOF list.Push Automapper.AutoMap(rs, new InkjetRecordsModel_Class) x = x +1 rs.MoveNext Loop set PagedInkjetRecordsList = list End Function Private Function InkjetRecordsNotFoundException(ByVal field_name, ByVal field_val) InkjetRecordsNotFoundException = "InkjetRecords was not found with " & field_name & " of '" & field_val & "'." End Function Private Function InkjetRecordsList(rs) dim list : set list = new LinkedList_Class dim model Do until rs.EOF set model = new InkjetRecordsModel_Class list.Push Automapper.AutoMap(rs, model) rs.MoveNext Loop set InkjetRecordsList = list End Function Public Sub AddNew(ByRef model) dim sql : sql = "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]," &_ "[CassADDRESS1]," &_ "[CassADDRESS2]," &_ "[CassADDRESS3]," &_ "[CassADDRESS4]," &_ "[CassADDRESS5])" &_ "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)" DAL.Execute sql, Array(model.KitID, _ model.VOTERID, _ model.LASTNAME, _ model.FIRSTNAME, _ model.MIDDLENAME, _ model.SUFFIX, _ model.PRECINCT, _ model.ADDRESS1, _ model.ADDRESS2, _ model.ADDRESS3, _ model.ADDRESS4, _ model.ADDRESS5, _ model.APPSENT, _ model.APPRETURNED, _ model.BALSENT, _ model.BALRETURNED, _ model.CountingBoard, _ model.UOCAVASTATUS, _ model.EMAILADDRESS, _ model.PHONENUMBER, _ model.BALLOT_NUMBER, _ model.CassADDRESS1, _ model.CassADDRESS2, _ model.CassADDRESS3, _ model.CassADDRESS4, _ model.CassADDRESS5) sql = "SELECT TOP 1 ID FROM [InkjetRecords] ORDER BY ID DESC" dim rs : set rs = DAL.Query(sql, empty) model.ID = rs("ID") Destroy rs End Sub Public Sub Update(model) dim sql : sql = "UPDATE [InkjetRecords] SET [KitID] = ?," &_ "[VOTERID] = ?," &_ "[LASTNAME] = ?," &_ "[FIRSTNAME] = ?," &_ "[MIDDLENAME] = ?," &_ "[SUFFIX] = ?," &_ "[PRECINCT] = ?," &_ "[ADDRESS1] = ?," &_ "[ADDRESS2] = ?," &_ "[ADDRESS3] = ?," &_ "[ADDRESS4] = ?," &_ "[ADDRESS5] = ?," &_ "[APPSENT] = ?," &_ "[APPRETURNED] = ?," &_ "[BALSENT] = ?," &_ "[BALRETURNED] = ?," &_ "[CountingBoard] = ?," &_ "[UOCAVASTATUS] = ?," &_ "[EMAILADDRESS] = ?," &_ "[PHONENUMBER] = ?," &_ "[BALLOT_NUMBER] = ?," &_ "[CassADDRESS1] = ?," &_ "[CassADDRESS2] = ?," &_ "[CassADDRESS3] = ?," &_ "[CassADDRESS4] = ?," &_ "[CassADDRESS5] = ?" &_ " WHERE [ID] = ?" DAL.Execute sql, Array(model.KitID, _ model.VOTERID, _ model.LASTNAME, _ model.FIRSTNAME, _ model.MIDDLENAME, _ model.SUFFIX, _ model.PRECINCT, _ model.ADDRESS1, _ model.ADDRESS2, _ model.ADDRESS3, _ model.ADDRESS4, _ model.ADDRESS5, _ model.APPSENT, _ model.APPRETURNED, _ model.BALSENT, _ model.BALRETURNED, _ model.CountingBoard, _ model.UOCAVASTATUS, _ model.EMAILADDRESS, _ model.PHONENUMBER, _ model.BALLOT_NUMBER, _ model.CassADDRESS1, _ model.CassADDRESS2, _ model.CassADDRESS3, _ model.CassADDRESS4, _ model.CassADDRESS5, _ model.ID) End Sub Public Sub Delete(id) dim sql : sql = "DELETE FROM [InkjetRecords] WHERE [ID] = ?" DAL.Execute sql, id End Sub End Class dim InkjetRecordsRepository__Singleton Function InkjetRecordsRepository() If IsEmpty(InkjetRecordsRepository__Singleton) then set InkjetRecordsRepository__Singleton = new InkjetRecordsRepository_Class End If set InkjetRecordsRepository = InkjetRecordsRepository__Singleton End Function %>