Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

362 строки
12KB

  1. <%
  2. '=======================================================================================================================
  3. ' InkjetRecords Model
  4. '=======================================================================================================================
  5. Class InkjetRecordsModel_Class
  6. Public Validator
  7. Public Class_Get_Properties
  8. Public ID '90
  9. Public KitID '122
  10. Public VOTERID '106
  11. Public LASTNAME '106
  12. Public FIRSTNAME '106
  13. Public MIDDLENAME '106
  14. Public SUFFIX '106
  15. Public PRECINCT '106
  16. Public ADDRESS1 '106
  17. Public ADDRESS2 '106
  18. Public ADDRESS3 '106
  19. Public ADDRESS4 '106
  20. Public ADDRESS5 '106
  21. Public APPSENT '106
  22. Public APPRETURNED '106
  23. Public BALSENT '106
  24. Public BALRETURNED '106
  25. Public CountingBoard '106
  26. Public UOCAVASTATUS '106
  27. Public EMAILADDRESS '106
  28. Public PHONENUMBER '106
  29. Public BALLOT_NUMBER '106
  30. Public CassADDRESS1 '106
  31. Public CassADDRESS2 '106
  32. Public CassADDRESS3 '106
  33. Public CassADDRESS4 '106
  34. Public CassADDRESS5 '106
  35. Public KitLabelID
  36. Public ColorId
  37. Private Sub Class_Initialize
  38. 'ValidateExitsts Me, "",""
  39. 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, KitLabelID, ColorId")
  40. End Sub
  41. End CLass
  42. '=======================================================================================================================
  43. ' InkjetRecords Repository
  44. '=======================================================================================================================
  45. Class InkjetRecordsRepository_Class
  46. Public Function FindByID(ID)
  47. 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], [KitLabelID], [ColorId] FROM [InkjetRecords] WHERE ID = ?"
  48. dim rs : set rs = DAL.Query(sql,ID)
  49. If rs.EOF then
  50. Err.Raise 1, "InkjetRecordsRepository_Class", InkjetRecordsNotFoundException("ID", ID)
  51. Else
  52. set FindByID = Automapper.AutoMap(rs,"InkjetRecordsModel_Class")
  53. End If
  54. End Function
  55. Public Function GetAll(orderBy)
  56. set GetAll = Find(empty,orderBy)
  57. End Function
  58. Public Function Find(where_kvarray, order_string_or_array)
  59. 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], [KitLabelID], [ColorId] FROM [InkjetRecords]"
  60. If Not IsEmpty(where_kvarray) then
  61. sql = sql & " WHERE "
  62. dim where_keys, where_values
  63. KVUnzip where_kvarray, where_keys, where_values
  64. dim i
  65. For i = 0 to UBound(where_keys)
  66. If i > 0 then sql = sql & " AND "
  67. sql = sql & " " & where_keys(i) & " "
  68. Next
  69. End If
  70. If Not IsEmpty(order_string_or_array) then
  71. sql = sql & "ORDER BY "
  72. If IsArray(order_string_or_array) then
  73. dim order_array : order_array = order_string_or_array
  74. For i = 0 to UBound(order_array)
  75. If i > 0 then sql = sql & ", "
  76. sql = sql & " " & order_array(i)
  77. Next
  78. Else
  79. sql = sql & order_string_or_array & " "
  80. End If
  81. End If
  82. dim rs : set rs = DAL.Query(sql, where_values)
  83. set Find = InkjetRecordsList(rs)
  84. Destroy rs
  85. End Function
  86. Public Function FindPaged(where_kvarray, order_string_or_array, per_page, page_num, ByRef page_count, ByRef record_count)
  87. 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], [KitLabelID], [ColorId] FROM [InkjetRecords]"
  88. If Not IsEmpty(where_kvarray) then
  89. sql = sql & " WHERE "
  90. dim where_keys, where_values
  91. KVUnzip where_kvarray, where_keys, where_values
  92. dim i
  93. For i = 0 to UBound(where_keys)
  94. If i > 0 then sql = sql & " AND "
  95. sql = sql & " " & where_keys(i) & " "
  96. Next
  97. End If
  98. If Not IsEmpty(order_string_or_array) then
  99. sql = sql & "ORDER BY "
  100. If IsArray(order_string_or_array) then
  101. dim order_array : order_array = order_string_or_array
  102. For i = 0 to UBound(order_array)
  103. If i > 0 then sql = sql & ", "
  104. sql = sql & " " & order_array(i)
  105. Next
  106. Else
  107. sql = sql & order_string_or_array & " "
  108. End If
  109. End If
  110. dim list : set list = new LinkedList_Class
  111. dim rs : set rs = DAL.PagedQuery(sql, where_values, per_page, page_num)
  112. If Not rs.EOF and Not (IsEmpty(per_page) and IsEmpty(page_num) and IsEmpty(page_count) and IsEmpty(record_count)) then
  113. rs.PageSize = per_page
  114. rs.AbsolutePage = page_num
  115. page_count = rs.PageCount
  116. record_count = rs.RecordCount
  117. End If
  118. set FindPaged = PagedInkjetRecordsList(rs, per_page)
  119. Destroy rs
  120. End Function
  121. Public Function SearchTablePaged(where_kvarray, order_string_or_array, per_page, page_num, ByRef page_count, ByRef record_count)
  122. 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], [KitLabelID], [ColorId] FROM [InkjetRecords]"
  123. If Not IsEmpty(where_kvarray) then
  124. sql = sql & " WHERE "
  125. dim where_keys, where_values
  126. KVUnzip where_kvarray, where_keys, where_values
  127. dim i
  128. For i = 0 to UBound(where_keys)
  129. If i > 0 then sql = sql & " OR"
  130. sql = sql & " " & where_keys(i) & " LIKE ?"
  131. Next
  132. End If
  133. If Not IsEmpty(order_string_or_array) then
  134. sql = sql & " ORDER BY "
  135. If IsArray(order_string_or_array) then
  136. dim order_array : order_array = order_string_or_array
  137. For i = 0 to UBound(order_array)
  138. If i > 0 then sql = sql & ", "
  139. sql = sql & " " & order_array(i)
  140. Next
  141. Else
  142. sql = sql & order_string_or_array & " "
  143. End If
  144. End If
  145. dim list : set list = new LinkedList_Class
  146. dim rs : set rs = DAL.PagedQuery(sql, where_values, per_page, page_num)
  147. If Not rs.EOF and Not (IsEmpty(per_page) and IsEmpty(page_num) and IsEmpty(page_count) and IsEmpty(record_count)) then
  148. rs.PageSize = per_page
  149. rs.AbsolutePage = page_num
  150. page_count = rs.PageCount
  151. record_count = rs.RecordCount
  152. End If
  153. set SearchTablePaged = PagedInkjetRecordsList(rs, per_page)
  154. Destroy rs
  155. End Function
  156. Private Function PagedInkjetRecordsList(rs, per_page)
  157. dim list : set list = new LinkedList_Class
  158. dim x : x =0
  159. Do While x < per_page and Not rs.EOF
  160. list.Push Automapper.AutoMap(rs, new InkjetRecordsModel_Class)
  161. x = x +1
  162. rs.MoveNext
  163. Loop
  164. set PagedInkjetRecordsList = list
  165. End Function
  166. Private Function InkjetRecordsNotFoundException(ByVal field_name, ByVal field_val)
  167. InkjetRecordsNotFoundException = "InkjetRecords was not found with " & field_name & " of '" & field_val & "'."
  168. End Function
  169. Private Function InkjetRecordsList(rs)
  170. dim list : set list = new LinkedList_Class
  171. dim model
  172. Do until rs.EOF
  173. set model = new InkjetRecordsModel_Class
  174. list.Push Automapper.AutoMap(rs, model)
  175. rs.MoveNext
  176. Loop
  177. set InkjetRecordsList = list
  178. End Function
  179. Public Sub AddNew(ByRef model)
  180. dim sql : sql = "INSERT INTO [InkjetRecords] (" &_
  181. "[KitID]," &_
  182. "[VOTERID]," &_
  183. "[LASTNAME]," &_
  184. "[FIRSTNAME]," &_
  185. "[MIDDLENAME]," &_
  186. "[SUFFIX]," &_
  187. "[PRECINCT]," &_
  188. "[ADDRESS1]," &_
  189. "[ADDRESS2]," &_
  190. "[ADDRESS3]," &_
  191. "[ADDRESS4]," &_
  192. "[ADDRESS5]," &_
  193. "[APPSENT]," &_
  194. "[APPRETURNED]," &_
  195. "[BALSENT]," &_
  196. "[BALRETURNED]," &_
  197. "[CountingBoard]," &_
  198. "[UOCAVASTATUS]," &_
  199. "[EMAILADDRESS]," &_
  200. "[PHONENUMBER]," &_
  201. "[BALLOT_NUMBER]," &_
  202. "[CassADDRESS1]," &_
  203. "[CassADDRESS2]," &_
  204. "[CassADDRESS3]," &_
  205. "[CassADDRESS4]," &_
  206. "[CassADDRESS5])" &_
  207. "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"
  208. DAL.Execute sql, Array(model.KitID, _
  209. model.VOTERID, _
  210. model.LASTNAME, _
  211. model.FIRSTNAME, _
  212. model.MIDDLENAME, _
  213. model.SUFFIX, _
  214. model.PRECINCT, _
  215. model.ADDRESS1, _
  216. model.ADDRESS2, _
  217. model.ADDRESS3, _
  218. model.ADDRESS4, _
  219. model.ADDRESS5, _
  220. model.APPSENT, _
  221. model.APPRETURNED, _
  222. model.BALSENT, _
  223. model.BALRETURNED, _
  224. model.CountingBoard, _
  225. model.UOCAVASTATUS, _
  226. model.EMAILADDRESS, _
  227. model.PHONENUMBER, _
  228. model.BALLOT_NUMBER, _
  229. model.CassADDRESS1, _
  230. model.CassADDRESS2, _
  231. model.CassADDRESS3, _
  232. model.CassADDRESS4, _
  233. model.CassADDRESS5)
  234. sql = "SELECT TOP 1 ID FROM [InkjetRecords] ORDER BY ID DESC"
  235. dim rs : set rs = DAL.Query(sql, empty)
  236. model.ID = rs("ID")
  237. Destroy rs
  238. End Sub
  239. Public Sub Update(model)
  240. dim sql : sql = "UPDATE [InkjetRecords] SET [KitID] = ?," &_
  241. "[VOTERID] = ?," &_
  242. "[LASTNAME] = ?," &_
  243. "[FIRSTNAME] = ?," &_
  244. "[MIDDLENAME] = ?," &_
  245. "[SUFFIX] = ?," &_
  246. "[PRECINCT] = ?," &_
  247. "[ADDRESS1] = ?," &_
  248. "[ADDRESS2] = ?," &_
  249. "[ADDRESS3] = ?," &_
  250. "[ADDRESS4] = ?," &_
  251. "[ADDRESS5] = ?," &_
  252. "[APPSENT] = ?," &_
  253. "[APPRETURNED] = ?," &_
  254. "[BALSENT] = ?," &_
  255. "[BALRETURNED] = ?," &_
  256. "[CountingBoard] = ?," &_
  257. "[UOCAVASTATUS] = ?," &_
  258. "[EMAILADDRESS] = ?," &_
  259. "[PHONENUMBER] = ?," &_
  260. "[BALLOT_NUMBER] = ?," &_
  261. "[CassADDRESS1] = ?," &_
  262. "[CassADDRESS2] = ?," &_
  263. "[CassADDRESS3] = ?," &_
  264. "[CassADDRESS4] = ?," &_
  265. "[CassADDRESS5] = ?," &_
  266. "[ColorId] = ?" &_
  267. " WHERE [ID] = ?"
  268. DAL.Execute sql, Array(model.KitID, _
  269. model.VOTERID, _
  270. model.LASTNAME, _
  271. model.FIRSTNAME, _
  272. model.MIDDLENAME, _
  273. model.SUFFIX, _
  274. model.PRECINCT, _
  275. model.ADDRESS1, _
  276. model.ADDRESS2, _
  277. model.ADDRESS3, _
  278. model.ADDRESS4, _
  279. model.ADDRESS5, _
  280. model.APPSENT, _
  281. model.APPRETURNED, _
  282. model.BALSENT, _
  283. model.BALRETURNED, _
  284. model.CountingBoard, _
  285. model.UOCAVASTATUS, _
  286. model.EMAILADDRESS, _
  287. model.PHONENUMBER, _
  288. model.BALLOT_NUMBER, _
  289. model.CassADDRESS1, _
  290. model.CassADDRESS2, _
  291. model.CassADDRESS3, _
  292. model.CassADDRESS4, _
  293. model.CassADDRESS5, _
  294. model.ColorId, _
  295. model.ID)
  296. End Sub
  297. Public Sub Delete(id)
  298. dim sql : sql = "DELETE FROM [InkjetRecords] WHERE [ID] = ?"
  299. DAL.Execute sql, id
  300. End Sub
  301. Public Function GetDistinctPrecinctsByKitId(KitID)
  302. dim sql : sql = "SELECT DISTINCT [PRECINCT], [ColorId] FROM [InkjetRecords] WHERE [KitID] = ? ORDER BY [PRECINCT]"
  303. dim rs : set rs = DAL.Query(sql, KitID)
  304. set GetDistinctPrecinctsByKitId = rs
  305. End Function
  306. Public Sub UpdateColorForKit(KitID, ColorId)
  307. dim sql : sql = "UPDATE [InkjetRecords] SET [ColorId] = ? WHERE [KitID] = ?"
  308. DAL.Execute sql, Array(ColorId, KitID)
  309. End Sub
  310. Public Sub UpdateColorForPrecinct(KitID, Precinct, ColorId)
  311. dim sql : sql = "UPDATE [InkjetRecords] SET [ColorId] = ? WHERE [KitID] = ? AND [PRECINCT] = ?"
  312. DAL.Execute sql, Array(ColorId, KitID, Precinct)
  313. End Sub
  314. End Class
  315. dim InkjetRecordsRepository__Singleton
  316. Function InkjetRecordsRepository()
  317. If IsEmpty(InkjetRecordsRepository__Singleton) then
  318. set InkjetRecordsRepository__Singleton = new InkjetRecordsRepository_Class
  319. End If
  320. set InkjetRecordsRepository = InkjetRecordsRepository__Singleton
  321. End Function
  322. %>

Powered by TurnKey Linux.