Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

683 rindas
27KB

  1. <% Option Explicit %>
  2. <!--#include file="../../include_all.asp"-->
  3. <!--#include file="../../ViewModels/KitViewModels.asp"-->
  4. <!--#include file="../../DomainModels/PurpleEnvelopeReportHelper.asp"-->
  5. <%
  6. Class KitController
  7. Public Model
  8. Public Sub SwitchBoardIndex
  9. dim page_size : page_size = 10
  10. dim page_num : page_num = Choice(Len(Request.Querystring("page_num")) > 0, Request.Querystring("page_num"), 1)
  11. dim page_count, record_count
  12. set Model = new PagedIndex_ViewModel_Class
  13. Model.Title = "Tracking Kits"
  14. set Model.Kit = KitRepository.PagedIndexView(page_size, page_num, page_count, record_count)
  15. Model.CurrentPageNumber = page_num
  16. Model.PageSize = page_size
  17. Model.PageCount = page_count
  18. Model.RecordCount = record_count
  19. %> <!--#include file="../../Views/Kit/SwitchBoardIndex.asp"--> <%
  20. End Sub
  21. Public Sub SwitchBoardPurpleEnvelopsIndex
  22. dim page_size : page_size = 10
  23. dim page_num : page_num = Choice(Len(Request.Querystring("page_num")) > 0, Request.Querystring("page_num"), 1)
  24. dim page_count, record_count
  25. set Model = new SwitchBoard_PurpleEnvelopesViewModel_Class
  26. Model.Title = "Purple Envelope Kits"
  27. set Model.Kit = KitRepository.PagedPurpleEnvelopsIndexView(page_size, page_num, page_count, record_count)
  28. Model.CurrentPageNumber = page_num
  29. Model.PageSize = page_size
  30. Model.PageCount = page_count
  31. Model.RecordCount = record_count
  32. %> <!--#include file="../../Views/Kit/SwitchBoardPurpleEnvelopeIndex.asp"--> <%
  33. End Sub
  34. Public Sub SwitchBoardPurpleEnvelopeEditPost
  35. MVC.RequirePost
  36. HTMLSecurity.OnInvalidAntiCsrfTokenRedirectToActionExt "KitEditForm", Request.Form("nonce"), "Edit", Array("Id", Request.Form("Id"))
  37. dim ID : ID = Request.Form("Id")
  38. dim model : set model = KitRepository.FindByID(ID)
  39. set model = Automapper.AutoMap(Request.Form, model)
  40. dim inkjetSortDirection : inkjetSortDirection = UCase(Trim(Request.Form("InkjetSortDirection") & ""))
  41. model.InboundSTID = Null
  42. If inkjetSortDirection = "ASC" Then
  43. model.JobType = "Purple Envelopes-Ascending"
  44. Else
  45. model.JobType = "Purple Envelopes"
  46. End If
  47. model.Status = "Ready to Assign Labels"
  48. 'model.Validate
  49. 'If model.Validator.HasErrors then
  50. FormCache.SerializeForm "EditKit", Request.Form
  51. ' Flash.Errors = model.Validator.Errors
  52. ' MVC.RedirectToActionExt "Edit", Array("Id",ID)
  53. 'Else
  54. KitRepository.Update model
  55. FormCache.ClearForm "EditKit"
  56. Flash.Success = "Kit updated."
  57. MVC.RedirectToAction "Index"
  58. 'End If
  59. End Sub
  60. Public Sub AssignKitColorPost
  61. MVC.RequirePost
  62. HTMLSecurity.OnInvalidAntiCsrfTokenRedirectToActionExt "ColorAssignForm", Request.Form("nonce"), "SwitchBoardPurpleEnvelopeEdit", Array("Id", Request.Form("Id"))
  63. dim ID : ID = Request.Form("Id")
  64. If Len(Request.Form("KitColorId")) > 0 AND Request.Form("KitColorId") <> "" Then
  65. InkjetRecordsRepository.UpdateColorForKit CLng(ID), CLng(Request.Form("KitColorId"))
  66. End If
  67. Flash.Success = "Color applied to all labels in kit."
  68. MVC.RedirectToActionExt "SwitchBoardPurpleEnvelopeEdit", Array("Id", ID)
  69. End Sub
  70. Public Sub AssignPrecinctColorsPost
  71. MVC.RequirePost
  72. HTMLSecurity.OnInvalidAntiCsrfTokenRedirectToActionExt "ColorAssignForm", Request.Form("nonce"), "SwitchBoardPurpleEnvelopeEdit", Array("Id", Request.Form("Id"))
  73. dim ID : ID = Request.Form("Id")
  74. dim key
  75. For Each key In Request.Form
  76. If Left(key, 14) = "PrecinctColor_" Then
  77. dim precinct : precinct = Mid(key, 15)
  78. dim colorId : colorId = Request.Form(key)
  79. If Len(colorId) > 0 AND colorId <> "" Then
  80. InkjetRecordsRepository.UpdateColorForPrecinct CLng(ID), precinct, CLng(colorId)
  81. End If
  82. End If
  83. Next
  84. Flash.Success = "Precinct colors saved."
  85. MVC.RedirectToActionExt "SwitchBoardPurpleEnvelopeEdit", Array("Id", ID)
  86. End Sub
  87. Public Sub SwitchBoardPurpleEnvelopeEdit
  88. Flash.ShowErrorsIfPresent
  89. Flash.ShowSuccessIfPresent
  90. dim id : id = Request.QueryString("Id")
  91. set Model = new SwitchBoard_ViewModel_Class
  92. set Model.Kit = KitRepository.SwitchBoardPurpleEnvelopeEditFindById(id)
  93. set Model.StidDropDown = SettingsRepository.GetStidDropDownRS()
  94. set Model.ColorsDropDown = ColorsRepository.GetColorsDropDownRS()
  95. set Model.Precincts = PurpleEnvelopeReportHelper().SortPrecinctColorRows(InkjetRecordsRepository.GetDistinctPrecinctsByKitId(id))
  96. set Model.PrecinctBallotRanges = PurpleEnvelopeReportHelper().BuildBallotRangesWithMissing(InkjetRecordsRepository.GetBallotNumbersByKitId(id))
  97. On Error Resume Next
  98. Model.PurpleEnvelopeElectionLabel = PurpleEnvelopeReportHelper().FormatElectionLabel(SettingsRepository.FindByName("Electiondate"))
  99. If Err.Number <> 0 Then
  100. Model.PurpleEnvelopeElectionLabel = ""
  101. Err.Clear
  102. End If
  103. On Error GoTo 0
  104. Model.Title = "Purple Envelopes for "
  105. HTMLSecurity.SetAntiCSRFToken "KitEditForm"
  106. HTMLSecurity.SetAntiCSRFToken "ColorAssignForm"
  107. %> <!--#include file="../../Views/Kit/SwitchBoardPurpleEnvelopeEdit.asp"--> <%
  108. End Sub
  109. Public Sub PrintDeliveryPaperwork
  110. dim id : id = Trim(Request.QueryString("Id") & "")
  111. If Len(id) = 0 Or Not IsNumeric(id) Then
  112. Flash.AddError "Unable to print delivery paperwork because the kit ID is missing or invalid."
  113. MVC.RedirectToAction "SwitchBoardPurpleEnvelopsIndex"
  114. Exit Sub
  115. End If
  116. dim kitId : kitId = CLng(id)
  117. dim kitInfo
  118. On Error Resume Next
  119. set kitInfo = KitRepository.SwitchBoardPurpleEnvelopeEditFindById(kitId)
  120. If Err.Number <> 0 Then
  121. dim loadErrDescription : loadErrDescription = Err.Description
  122. Err.Clear
  123. On Error GoTo 0
  124. Flash.AddError "Unable to load the requested kit. " & loadErrDescription
  125. MVC.RedirectToAction "SwitchBoardPurpleEnvelopsIndex"
  126. Exit Sub
  127. End If
  128. On Error GoTo 0
  129. If UCase(Trim(kitInfo.Status & "")) <> "DONE" Then
  130. Flash.AddError "Delivery paperwork can only be printed when the kit status is Done."
  131. MVC.RedirectToActionExt "SwitchBoardPurpleEnvelopeEdit", Array("Id", kitId)
  132. Exit Sub
  133. End If
  134. dim inkjetCount : inkjetCount = 0
  135. If IsNumeric(kitInfo.LabelCount) Then
  136. inkjetCount = CLng(kitInfo.LabelCount)
  137. End If
  138. If inkjetCount <= 0 Then
  139. Flash.AddError "Delivery paperwork cannot be generated because no labels were found for this kit."
  140. MVC.RedirectToActionExt "SwitchBoardPurpleEnvelopeEdit", Array("Id", kitId)
  141. Exit Sub
  142. End If
  143. dim appPath : appPath = Request.ServerVariables("APPL_PHYSICAL_PATH")
  144. dim labelsTemplatePath : labelsTemplatePath = appPath & "Data\Delivery_Labels.rep"
  145. dim packingSlipTemplatePath : packingSlipTemplatePath = appPath & "Data\Delivery_PackingSlip.rep"
  146. If FSO.FileExists(labelsTemplatePath) = False Then
  147. Flash.AddError "Delivery labels template was not found: Data\Delivery_Labels.rep"
  148. MVC.RedirectToActionExt "SwitchBoardPurpleEnvelopeEdit", Array("Id", kitId)
  149. Exit Sub
  150. End If
  151. If FSO.FileExists(packingSlipTemplatePath) = False Then
  152. Flash.AddError "Delivery packing slip template was not found: Data\Delivery_PackingSlip.rep"
  153. MVC.RedirectToActionExt "SwitchBoardPurpleEnvelopeEdit", Array("Id", kitId)
  154. Exit Sub
  155. End If
  156. dim totalBoxes : totalBoxes = Int((inkjetCount + 1099) / 1100)
  157. If totalBoxes <= 0 Then
  158. Flash.AddError "Delivery paperwork cannot be generated because no shipping boxes were calculated."
  159. MVC.RedirectToActionExt "SwitchBoardPurpleEnvelopeEdit", Array("Id", kitId)
  160. Exit Sub
  161. End If
  162. dim jurisdiction : jurisdiction = Trim(kitInfo.Jurisdiction & "")
  163. dim jCode : jCode = Trim(kitInfo.JCode & "")
  164. dim jobNumber : jobNumber = Trim(kitInfo.JobNumber & "")
  165. dim pages : set pages = new LinkedList_Class
  166. dim boxNum : boxNum = totalBoxes
  167. dim pageNum : pageNum = 1
  168. dim page, slot, labelText
  169. Do While boxNum >= 1
  170. set page = new DeliveryLabelPage_Class
  171. page.PageNum = pageNum
  172. For slot = 1 To 6
  173. labelText = ""
  174. If boxNum >= 1 Then
  175. labelText = jurisdiction & vbCrLf & _
  176. "Box " & boxNum & " of " & totalBoxes & vbCrLf & _
  177. "Total Printed " & inkjetCount & vbCrLf & _
  178. "Job# " & jobNumber
  179. boxNum = boxNum - 1
  180. End If
  181. Select Case slot
  182. Case 1 : page.Label1 = labelText
  183. Case 2 : page.Label2 = labelText
  184. Case 3 : page.Label3 = labelText
  185. Case 4 : page.Label4 = labelText
  186. Case 5 : page.Label5 = labelText
  187. Case 6 : page.Label6 = labelText
  188. End Select
  189. Next
  190. pages.Push page
  191. pageNum = pageNum + 1
  192. Loop
  193. dim exportFolder : exportFolder = ExportDirectory & jCode & "-" & jurisdiction
  194. On Error Resume Next
  195. If FSO.FolderExists(exportFolder) = False Then
  196. FSO.CreateFolder(exportFolder)
  197. End If
  198. If Err.Number <> 0 Then
  199. dim folderErrDescription : folderErrDescription = Err.Description
  200. Err.Clear
  201. On Error GoTo 0
  202. Flash.AddError "Unable to create the delivery export folder. " & folderErrDescription
  203. MVC.RedirectToActionExt "SwitchBoardPurpleEnvelopeEdit", Array("Id", kitId)
  204. Exit Sub
  205. End If
  206. dim labelsFilename : labelsFilename = jCode & "-" & jurisdiction & "_delivery_labels.pdf"
  207. dim packingSlipFilename : packingSlipFilename = jCode & "-" & jurisdiction & "_delivery_packing_slip.pdf"
  208. dim labelsFinalPath : labelsFinalPath = exportFolder & "\" & labelsFilename
  209. dim packingSlipFinalPath : packingSlipFinalPath = exportFolder & "\" & packingSlipFilename
  210. dim labelsTempPath : labelsTempPath = appPath & "Data\" & jCode & "-" & jurisdiction & "_delivery_labels.tmp.pdf"
  211. dim packingSlipTempPath : packingSlipTempPath = appPath & "Data\" & jCode & "-" & jurisdiction & "_delivery_packing_slip.tmp.pdf"
  212. If FSO.FileExists(labelsTempPath) Then FSO.DeleteFile labelsTempPath
  213. If FSO.FileExists(packingSlipTempPath) Then FSO.DeleteFile packingSlipTempPath
  214. If Err.Number <> 0 Then
  215. dim tempErrDescription : tempErrDescription = Err.Description
  216. Err.Clear
  217. On Error GoTo 0
  218. Flash.AddError "Unable to clear previous temporary delivery paperwork files. " & tempErrDescription
  219. MVC.RedirectToActionExt "SwitchBoardPurpleEnvelopeEdit", Array("Id", kitId)
  220. Exit Sub
  221. End If
  222. On Error GoTo 0
  223. dim databaseConnectionString
  224. If dev = true Then
  225. databaseConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=" & appPath & "Data\webdata - Copy.mdb;"
  226. Else
  227. databaseConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=C:\inetpub\Data\webdata - Copy.mdb;"
  228. End If
  229. On Error Resume Next
  230. KitRepository.SaveDeliveryLabelPages kitId, pages
  231. If Err.Number <> 0 Then
  232. dim stageErrDescription : stageErrDescription = Err.Description
  233. Err.Clear
  234. On Error GoTo 0
  235. Flash.AddError "Unable to stage delivery label data. " & stageErrDescription
  236. MVC.RedirectToActionExt "SwitchBoardPurpleEnvelopeEdit", Array("Id", kitId)
  237. Exit Sub
  238. End If
  239. dim labelsReport : set labelsReport = Server.CreateObject("ReportMan.ReportManX")
  240. labelsReport.Filename = labelsTemplatePath
  241. labelsReport.SetDatabaseConnectionString "TRACKINGKITLABELS", databaseConnectionString
  242. labelsReport.Preview = False
  243. labelsReport.ShowProgress = False
  244. labelsReport.ShowPrintDialog = False
  245. labelsReport.SetParamValue "PBKITID", CInt(kitId)
  246. labelsReport.SaveToPdf labelsTempPath, 1
  247. set labelsReport = Nothing
  248. If Err.Number <> 0 Then
  249. dim labelsErrDescription : labelsErrDescription = Err.Description
  250. Err.Clear
  251. On Error GoTo 0
  252. Flash.AddError "Unable to generate the delivery labels PDF. " & labelsErrDescription
  253. MVC.RedirectToActionExt "SwitchBoardPurpleEnvelopeEdit", Array("Id", kitId)
  254. Exit Sub
  255. End If
  256. dim slipReport : set slipReport = Server.CreateObject("ReportMan.ReportManX")
  257. slipReport.Filename = packingSlipTemplatePath
  258. slipReport.SetDatabaseConnectionString "TRACKINGKITLABELS", databaseConnectionString
  259. slipReport.Preview = False
  260. slipReport.ShowProgress = False
  261. slipReport.ShowPrintDialog = False
  262. slipReport.SetParamValue "PBKITID", CInt(kitId)
  263. slipReport.SaveToPdf packingSlipTempPath, 1
  264. set slipReport = Nothing
  265. If Err.Number <> 0 Then
  266. dim slipErrDescription : slipErrDescription = Err.Description
  267. Err.Clear
  268. On Error GoTo 0
  269. Flash.AddError "Unable to generate the delivery packing slip PDF. " & slipErrDescription
  270. MVC.RedirectToActionExt "SwitchBoardPurpleEnvelopeEdit", Array("Id", kitId)
  271. Exit Sub
  272. End If
  273. If FSO.FileExists(labelsFinalPath) Then FSO.DeleteFile labelsFinalPath
  274. If FSO.FileExists(packingSlipFinalPath) Then FSO.DeleteFile packingSlipFinalPath
  275. FSO.MoveFile labelsTempPath, labelsFinalPath
  276. FSO.MoveFile packingSlipTempPath, packingSlipFinalPath
  277. If Err.Number <> 0 Then
  278. dim moveErrDescription : moveErrDescription = Err.Description
  279. Err.Clear
  280. On Error GoTo 0
  281. Flash.AddError "Delivery paperwork PDFs were generated but could not be moved into the export folder. " & moveErrDescription
  282. MVC.RedirectToActionExt "SwitchBoardPurpleEnvelopeEdit", Array("Id", kitId)
  283. Exit Sub
  284. End If
  285. On Error GoTo 0
  286. On Error Resume Next
  287. KitRepository.DeleteDeliveryLabelPages kitId
  288. If Err.Number <> 0 Then
  289. dim cleanupErrDescription : cleanupErrDescription = Err.Description
  290. Err.Clear
  291. On Error GoTo 0
  292. Flash.AddError "Delivery paperwork PDFs were generated, but staging cleanup failed. " & cleanupErrDescription
  293. MVC.RedirectToActionExt "SwitchBoardPurpleEnvelopeEdit", Array("Id", kitId)
  294. Exit Sub
  295. End If
  296. On Error GoTo 0
  297. Flash.Success = "Delivery paperwork generated successfully."
  298. MVC.RedirectToActionExt "SwitchBoardPurpleEnvelopeEdit", Array("Id", kitId)
  299. End Sub
  300. Public Sub Index
  301. dim page_size : page_size = 10
  302. dim page_num : page_num = Choice(Len(Request.Querystring("page_num")) > 0, Request.Querystring("page_num"), 1)
  303. dim page_count, record_count
  304. set Model = new PagedIndex_ViewModel_Class
  305. Model.Title = "Tracking Kits"
  306. set Model.Kit = KitRepository.FindPaged(empty, "ID", page_size, page_num, page_count, record_count)
  307. Model.CurrentPageNumber = page_num
  308. Model.PageSize = page_size
  309. Model.PageCount = page_count
  310. Model.RecordCount = record_count
  311. %> <!--#include file="../../Views/Kit/Index.asp"--> <%
  312. End Sub
  313. Public Sub Search
  314. dim searchValue:searchValue = Choice(Request.Form.Count = 0,Request.QueryString("q"),Request.Form("q"))
  315. dim page_size : page_size = 10
  316. dim page_num : page_num = Choice(Len(Request.Querystring("page_num")) > 0, Request.Querystring("page_num"), 1)
  317. dim page_count, record_count
  318. set Model = new PagedIndex_ViewModel_Class
  319. Model.Title = "Kit"
  320. set Model.Kit = KitRepository.SearchTablePaged(Array("ID","%" & searchValue & "%","JobNumber","%" & searchValue & "%","Jcode","%" & searchValue & "%"),"ID", page_size, page_num, page_count, record_count)
  321. Model.CurrentPageNumber = page_num
  322. Model.PageSize = page_size
  323. Model.PageCount = page_count
  324. Model.RecordCount = record_count
  325. %> <!--#include file="../../Views/Kit/Index.asp"--> <%
  326. End Sub
  327. Public Sub SwitchBoardEdit
  328. Flash.ShowSuccessIfPresent
  329. dim id : id = Request.QueryString("Id")
  330. set Model = new SwitchBoard_ViewModel_Class
  331. set Model.Kit = KitRepository.SwitchBoardEditFindById(id)
  332. set Model.Labels = KitLabelsRepository.Find(Array("KitId =?",id),empty)
  333. Model.Title = "Kit for "
  334. HTMLSecurity.SetAntiCSRFToken "KitEditForm"
  335. %> <!--#include file="../../Views/Kit/SwitchBoardEdit.asp"--> <%
  336. End Sub
  337. Public Sub ExportTrackingLabels(id)
  338. dim KitInfo : Set KitInfo = KitRepository.FindByID(id)
  339. dim JurisdictionInfo : Set JurisdictionInfo = JurisdictionRepository.FindByJCode(KitInfo.Jcode)
  340. ReportManager.Filename = Request.ServerVariables("APPL_PHYSICAL_PATH") & "Data\Label_Report.rep"
  341. if dev = true Then
  342. ReportManager.SetDatabaseConnectionString "TRACKINGKITLABELS","Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=" & Request.ServerVariables("APPL_PHYSICAL_PATH") & "Data\webdata - Copy.mdb;"
  343. else
  344. ReportManager.SetDatabaseConnectionString "TRACKINGKITLABELS","Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=C:\inetpub\Data\webdata - Copy.mdb;"
  345. End If
  346. ReportManager.Preview = false
  347. ReportManager.ShowProgress = false
  348. ReportManager.ShowPrintDialog = false
  349. ReportManager.SetParamValue "PBKITID", CInt(id)
  350. if FSO.FolderExists(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name) = False then
  351. FSO.CreateFolder(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name)
  352. end if
  353. if FSO.FileExists(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_labels.pdf") then
  354. FSO.DeleteFile(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_labels.pdf")
  355. end if
  356. ReportManager.SaveToPdf Request.ServerVariables("APPL_PHYSICAL_PATH") & "\Data\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & " Labels.pdf",1
  357. FSO.MoveFile Request.ServerVariables("APPL_PHYSICAL_PATH") & "\Data\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & " Labels.pdf" , ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_labels.pdf"
  358. End Sub
  359. Public Sub ExportSnailWorksTracking(id)
  360. dim KitInfo : Set KitInfo = KitRepository.FindByID(id)
  361. dim JurisdictionInfo : Set JurisdictionInfo = JurisdictionRepository.FindByJCode(KitInfo.Jcode)
  362. if FSO.FolderExists(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name) = False then
  363. FSO.CreateFolder(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name)
  364. end if
  365. if FSO.FileExists(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_SW_EXPORT.csv") then
  366. FSO.DeleteFile(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_SW_EXPORT.csv")
  367. end if
  368. dim export: set export = SnailWorksRepository.GetSnailWorksExportById(id)
  369. if export.DetailRecords.Count > 0 Then
  370. dim objExportFile: Set objExportFile = FSO.CreateTextFile(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_SW_EXPORT.csv",2)
  371. With objExportFile
  372. .Write """" & export.Header.RecordType & ""","
  373. .Write """" & export.Header.Version & ""","
  374. .Write """" & export.Header.UserId & ""","
  375. .Write """" & export.Header.ClientName & ""","
  376. .Write """" & export.Header.ParentClientName & ""","
  377. .Write """" & export.Header.JobName & ""","
  378. .Write """" & export.Header.JobDescription & ""","
  379. .Write """" & export.Header.SplitName & ""","
  380. .Write """" & export.Header.SplitDescription & ""","
  381. .Write """" & export.Header.PieceType & ""","
  382. .Write """" & export.Header.MailDate & ""","
  383. .Write """" & export.Header.UploadType & ""","
  384. .Write """" & export.Header.TrackedQuanity & ""","
  385. .Write """" & export.Header.PiecesMailed & ""","
  386. .Write """" & export.Header.TargetInHomeDateStart & ""","
  387. .Write """" & export.Header.TargetInHomeDateEnd & ""","
  388. .Write """" & export.Header.ConfirmationEmail & ""","
  389. .Write """" & export.Header.JobId & ""","
  390. .Write """" & export.Header.SplitId & ""","
  391. .Write """" & export.Header.TypeOfTracking & ""","
  392. .Write """" & export.Header.ReturnedPostalRoutingCode & ""","
  393. .Write """" & export.Header.ReportId1 & ""","
  394. .Write """" & export.Header.Report1Email & ""","
  395. .Write """" & export.Header.ReportId2 & ""","
  396. .Write """" & export.Header.Report2Email & ""","
  397. .Write """" & export.Header.INFOONLY & """"
  398. .Write vbCrLf
  399. dim it:set it = export.DetailRecords.Iterator
  400. dim records
  401. while it.HasNext
  402. set records = it.GetNext()
  403. .Write """" & records.RecordType & ""","
  404. .Write """" & records.CustomerUniqueIdentifier & ""","
  405. .Write """" & records.IMB & ""","
  406. .Write """" & records.Greeting & ""","
  407. .Write """" & records.FirstName & ""","
  408. .Write """" & records.MI & ""","
  409. .Write """" & records.LastName & ""","
  410. .Write """" & records.Suffix & ""","
  411. .Write """" & records.FullName & ""","
  412. .Write """" & records.Company & ""","
  413. .Write """" & records.Title & ""","
  414. .Write """" & records.Address1 & ""","
  415. .Write """" & records.Address2 & ""","
  416. .Write """" & records.City & ""","
  417. .Write """" & records.State & ""","
  418. .Write """" & records.Zip & ""","
  419. .Write """" & records.UserDefined1 & ""","
  420. .Write """" & records.UserDefined2 & ""","
  421. .Write """" & records.UserDefined3 & ""","
  422. .Write """" & records.UserDefinedIdentifier4 & ""","
  423. .Write """" & records.UserDefinedIdentifier5 & ""","
  424. .Write """" & records.SeedIndicator & ""","
  425. .Write """" & records.InductionPoint & ""","
  426. .Write """" & records.InductionDate & ""","
  427. .Write """" & records.InBoundIMB & ""","
  428. .Write """" & records.IMCB & ""","
  429. .Write """" & records.IMTB & """" & vbCRLF
  430. Wend
  431. End With
  432. End If
  433. End Sub
  434. Public Sub Edit
  435. dim id : id = Request.QueryString("Id")
  436. set Model = new Edit_ViewModel_Class
  437. set Model.Kit = KitRepository.FindByID(id)
  438. Model.Title = "Edit Kit"
  439. HTMLSecurity.SetAntiCSRFToken "KitEditForm"
  440. %> <!--#include file="../../Views/Kit/Edit.asp"--> <%
  441. Flash.Success = "Kit Updated."
  442. End Sub
  443. Public Sub EditPost
  444. MVC.RequirePost
  445. HTMLSecurity.OnInvalidAntiCsrfTokenRedirectToActionExt "KitEditForm", Request.Form("nonce"), "Edit", Array("Id", Request.Form("Id"))
  446. dim ID : ID = Request.Form("Id")
  447. dim originalModel : set originalModel = KitRepository.FindByID(ID)
  448. dim model : set model = KitRepository.FindByID(ID)
  449. set model = Automapper.AutoMap(Request.Form, model)
  450. ' Handle date fields - if empty string, preserve original value or set to Null
  451. If Len(Trim(model.CreatedOn & "")) = 0 Then
  452. model.CreatedOn = originalModel.CreatedOn
  453. End If
  454. If Len(Trim(model.LabelsPrinted & "")) = 0 Then
  455. model.LabelsPrinted = Null
  456. End If
  457. If Len(Trim(model.ExportedToSnailWorks & "")) = 0 Then
  458. model.ExportedToSnailWorks = Null
  459. End If
  460. ' Handle boolean/numeric fields - convert "True"/"False" strings to proper numeric values
  461. If UCase(Trim(model.InkJetJob & "")) = "TRUE" Then
  462. model.InkJetJob = -1
  463. ElseIf UCase(Trim(model.InkJetJob & "")) = "FALSE" Then
  464. model.InkJetJob = 0
  465. ElseIf Len(Trim(model.InkJetJob & "")) = 0 Then
  466. model.InkJetJob = 0
  467. End If
  468. If UCase(Trim(model.Cass & "")) = "TRUE" Then
  469. model.Cass = -1
  470. ElseIf UCase(Trim(model.Cass & "")) = "FALSE" Then
  471. model.Cass = 0
  472. ElseIf Len(Trim(model.Cass & "")) = 0 Then
  473. model.Cass = 0
  474. End If
  475. ' Handle numeric fields - if empty string, set to 0 or Null
  476. If Len(Trim(model.OfficeCopiesAmount & "")) = 0 Then
  477. model.OfficeCopiesAmount = 0
  478. End If
  479. ' Handle STID fields - if empty string, set to Null
  480. If Len(Trim(model.OutboundSTID & "")) = 0 Then
  481. model.OutboundSTID = Null
  482. End If
  483. If Len(Trim(model.InboundSTID & "")) = 0 Then
  484. model.InboundSTID = Null
  485. End If
  486. 'model.Validate
  487. 'If model.Validator.HasErrors then
  488. FormCache.SerializeForm "EditKit", Request.Form
  489. ' Flash.Errors = model.Validator.Errors
  490. ' MVC.RedirectToActionExt "Edit", Array("Id",ID)
  491. 'Else
  492. KitRepository.Update model
  493. FormCache.ClearForm "EditKit"
  494. Flash.Success = "Kit updated."
  495. MVC.RedirectToAction "Index"
  496. 'End If
  497. End Sub
  498. Public Sub CreateTrackingKit
  499. dim form_params : set form_params = FormCache.DeserializeForm("NewKit")
  500. dim ID : ID = Request.QueryString("Id")
  501. dim model : set model = new Create_ViewModel_Class
  502. model.Title = "Create Kit "
  503. model.JCode = ID
  504. dim ugh : set ugh = JurisdictionRepository.Find(Array("[JCode] = ?",ID),empty)
  505. set model.Jurisdiction = ugh.pop()
  506. 'If Not form_params Is Nothing then
  507. ' set Model = Automapper.AutoMap(form_params, New Create_ViewModel_Class)
  508. 'Else
  509. ' set Model = new Create_ViewModel_Class
  510. 'End If
  511. HTMLSecurity.SetAntiCSRFToken "KitCreateForm"
  512. %> <!--#include file="../../Views/Kit/CreateTrackingKit.asp"--> <%
  513. End Sub
  514. Public Sub Create
  515. dim form_params : set form_params = FormCache.DeserializeForm("NewKit")
  516. dim ID : ID = Request.QueryString("Id")
  517. dim model : set model = new Create_ViewModel_Class
  518. model.Title = "Create Kit "
  519. model.JCode = ID
  520. dim ugh : set ugh = JurisdictionRepository.Find(Array("[JCode] = ?",ID),empty)
  521. set model.Jurisdiction = ugh.pop()
  522. 'If Not form_params Is Nothing then
  523. ' set Model = Automapper.AutoMap(form_params, New Create_ViewModel_Class)
  524. 'Else
  525. ' set Model = new Create_ViewModel_Class
  526. 'End If
  527. HTMLSecurity.SetAntiCSRFToken "KitCreateForm"
  528. %> <!--#include file="../../Views/Kit/Create.asp"--> <%
  529. End Sub
  530. Public Sub CreatePost
  531. MVC.RequirePost
  532. HtmlSecurity.OnInvalidAntiCSRFTokenRedirectToAction "KitCreateForm", Request.Form("nonce"), "Create"
  533. dim new_Kit_model : set new_Kit_model = Automapper.AutoMap(Request.Form, new KitModel_Class)
  534. 'new_Kit_model.Validator.Validate
  535. 'If new_Kit_model.Validator.HasErrors then
  536. ' FormCache.SerializeForm "NewKit", Request.Form
  537. ' Flash.Errors = new_Kit_model.Validator.Errors
  538. ' MVC.RedirectToAction "Create"
  539. 'Else
  540. KitRepository.AddNew new_Kit_model
  541. KitLabelsRepository.BulkAdd new_Kit_model.ID,Request.Form("Amount")
  542. ' FormCache.ClearForm "NewKit"
  543. ExportTrackingLabels(new_Kit_model.ID)
  544. ExportSnailWorksTracking(new_Kit_model.ID)
  545. Flash.Success = "Kit added."
  546. MVC.RedirectToAction "Index"
  547. 'End If
  548. End Sub
  549. Public Sub CreateTrackingKitPost
  550. MVC.RequirePost
  551. HtmlSecurity.OnInvalidAntiCSRFTokenRedirectToAction "KitCreateForm", Request.Form("nonce"), "Create"
  552. dim new_Kit_model : set new_Kit_model = Automapper.AutoMap(Request.Form, new KitModel_Class)
  553. 'new_Kit_model.Validator.Validate
  554. 'If new_Kit_model.Validator.HasErrors then
  555. ' FormCache.SerializeForm "NewKit", Request.Form
  556. ' Flash.Errors = new_Kit_model.Validator.Errors
  557. ' MVC.RedirectToAction "Create"
  558. 'Else
  559. KitRepository.AddNew new_Kit_model
  560. KitLabelsRepository.BulkAdd new_Kit_model.ID,Request.Form("Amount")
  561. ' FormCache.ClearForm "NewKit"
  562. Flash.Success = "Kit added."
  563. MVC.RedirectToAction "Index"
  564. 'End If
  565. End Sub
  566. Public Sub Delete
  567. dim id : id = Request.QueryString("Id")
  568. set Model = new Delete_ViewModel_Class
  569. set Model.Kit = KitRepository.FindByID(id)
  570. Model.Title = "Delete Kit"
  571. HTMLSecurity.SetAntiCSRFToken "KitDeleteForm"
  572. %> <!--#include file="../../Views/Kit/Delete.asp"--> <%
  573. End Sub
  574. Public Sub DeletePost
  575. MVC.RequirePost
  576. HtmlSecurity.OnInvalidAntiCSRFTokenRedirectToAction "KitDeleteForm", Request.Form("nonce"), "Create"
  577. dim id : id = Request.Form("Id")
  578. KitRepository.Delete id
  579. Flash.Success = "Kit deleted."
  580. MVC.RedirectToAction "Index"
  581. End Sub
  582. End Class
  583. MVC.Dispatch
  584. %>

Powered by TurnKey Linux.