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

687 строки
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 labelsBaseName : labelsBaseName = jobNumber & " - " & jurisdiction
  207. dim labelsFilename : labelsFilename = labelsBaseName & "_delivery_labels.pdf"
  208. dim packingSlipFilename : packingSlipFilename = jCode & "-" & jurisdiction & "_delivery_packing_slip.pdf"
  209. dim labelsFinalPath : labelsFinalPath = exportFolder & "\" & labelsFilename
  210. dim packingSlipFinalPath : packingSlipFinalPath = exportFolder & "\" & packingSlipFilename
  211. dim labelsTempPath : labelsTempPath = appPath & "Data\" & labelsBaseName & "_delivery_labels.tmp.pdf"
  212. dim packingSlipTempPath : packingSlipTempPath = appPath & "Data\" & jCode & "-" & jurisdiction & "_delivery_packing_slip.tmp.pdf"
  213. If FSO.FileExists(labelsTempPath) Then FSO.DeleteFile labelsTempPath
  214. If FSO.FileExists(packingSlipTempPath) Then FSO.DeleteFile packingSlipTempPath
  215. If Err.Number <> 0 Then
  216. dim tempErrDescription : tempErrDescription = Err.Description
  217. Err.Clear
  218. On Error GoTo 0
  219. Flash.AddError "Unable to clear previous temporary delivery paperwork files. " & tempErrDescription
  220. MVC.RedirectToActionExt "SwitchBoardPurpleEnvelopeEdit", Array("Id", kitId)
  221. Exit Sub
  222. End If
  223. On Error GoTo 0
  224. dim databaseConnectionString
  225. If dev = true Then
  226. databaseConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=" & appPath & "Data\webdata - Copy.mdb;"
  227. Else
  228. databaseConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=C:\inetpub\Data\webdata - Copy.mdb;"
  229. End If
  230. On Error Resume Next
  231. KitRepository.SaveDeliveryLabelPages kitId, pages
  232. If Err.Number <> 0 Then
  233. dim stageErrDescription : stageErrDescription = Err.Description
  234. Err.Clear
  235. On Error GoTo 0
  236. Flash.AddError "Unable to stage delivery label data. " & stageErrDescription
  237. MVC.RedirectToActionExt "SwitchBoardPurpleEnvelopeEdit", Array("Id", kitId)
  238. Exit Sub
  239. End If
  240. dim labelsReport : set labelsReport = Server.CreateObject("ReportMan.ReportManX")
  241. labelsReport.Filename = labelsTemplatePath
  242. labelsReport.SetDatabaseConnectionString "TRACKINGKITLABELS", databaseConnectionString
  243. labelsReport.Preview = False
  244. labelsReport.ShowProgress = False
  245. labelsReport.ShowPrintDialog = False
  246. labelsReport.SetParamValue "PBKITID", CInt(kitId)
  247. labelsReport.SaveToPdf labelsTempPath, 1
  248. set labelsReport = Nothing
  249. If Err.Number <> 0 Then
  250. dim labelsErrDescription : labelsErrDescription = Err.Description
  251. Err.Clear
  252. On Error GoTo 0
  253. Flash.AddError "Unable to generate the delivery labels PDF. " & labelsErrDescription
  254. MVC.RedirectToActionExt "SwitchBoardPurpleEnvelopeEdit", Array("Id", kitId)
  255. Exit Sub
  256. End If
  257. dim slipReport : set slipReport = Server.CreateObject("ReportMan.ReportManX")
  258. slipReport.Filename = packingSlipTemplatePath
  259. slipReport.SetDatabaseConnectionString "TRACKINGKITLABELS", databaseConnectionString
  260. slipReport.Preview = False
  261. slipReport.ShowProgress = False
  262. slipReport.ShowPrintDialog = False
  263. slipReport.SetParamValue "PBKITID", CInt(kitId)
  264. slipReport.SaveToPdf packingSlipTempPath, 1
  265. set slipReport = Nothing
  266. If Err.Number <> 0 Then
  267. dim slipErrDescription : slipErrDescription = Err.Description
  268. Err.Clear
  269. On Error GoTo 0
  270. Flash.AddError "Unable to generate the delivery packing slip PDF. " & slipErrDescription
  271. MVC.RedirectToActionExt "SwitchBoardPurpleEnvelopeEdit", Array("Id", kitId)
  272. Exit Sub
  273. End If
  274. If FSO.FileExists(labelsFinalPath) Then FSO.DeleteFile labelsFinalPath
  275. If FSO.FileExists(packingSlipFinalPath) Then FSO.DeleteFile packingSlipFinalPath
  276. FSO.MoveFile labelsTempPath, labelsFinalPath
  277. FSO.MoveFile packingSlipTempPath, packingSlipFinalPath
  278. If Err.Number <> 0 Then
  279. dim moveErrDescription : moveErrDescription = Err.Description
  280. Err.Clear
  281. On Error GoTo 0
  282. Flash.AddError "Delivery paperwork PDFs were generated but could not be moved into the export folder. " & moveErrDescription
  283. MVC.RedirectToActionExt "SwitchBoardPurpleEnvelopeEdit", Array("Id", kitId)
  284. Exit Sub
  285. End If
  286. On Error GoTo 0
  287. On Error Resume Next
  288. KitRepository.DeleteDeliveryLabelPages kitId
  289. If Err.Number <> 0 Then
  290. dim cleanupErrDescription : cleanupErrDescription = Err.Description
  291. Err.Clear
  292. On Error GoTo 0
  293. Flash.AddError "Delivery paperwork PDFs were generated, but staging cleanup failed. " & cleanupErrDescription
  294. MVC.RedirectToActionExt "SwitchBoardPurpleEnvelopeEdit", Array("Id", kitId)
  295. Exit Sub
  296. End If
  297. On Error GoTo 0
  298. Flash.Success = "Delivery paperwork generated successfully."
  299. MVC.RedirectToActionExt "SwitchBoardPurpleEnvelopeEdit", Array("Id", kitId)
  300. End Sub
  301. Public Sub Index
  302. dim page_size : page_size = 10
  303. dim page_num : page_num = Choice(Len(Request.Querystring("page_num")) > 0, Request.Querystring("page_num"), 1)
  304. dim page_count, record_count
  305. set Model = new PagedIndex_ViewModel_Class
  306. Model.Title = "Tracking Kits"
  307. set Model.Kit = KitRepository.FindPaged(empty, "ID", page_size, page_num, page_count, record_count)
  308. Model.CurrentPageNumber = page_num
  309. Model.PageSize = page_size
  310. Model.PageCount = page_count
  311. Model.RecordCount = record_count
  312. %> <!--#include file="../../Views/Kit/Index.asp"--> <%
  313. End Sub
  314. Public Sub Search
  315. dim searchValue:searchValue = Choice(Request.Form.Count = 0,Request.QueryString("q"),Request.Form("q"))
  316. dim page_size : page_size = 10
  317. dim page_num : page_num = Choice(Len(Request.Querystring("page_num")) > 0, Request.Querystring("page_num"), 1)
  318. dim page_count, record_count
  319. set Model = new PagedIndex_ViewModel_Class
  320. Model.Title = "Kit"
  321. set Model.Kit = KitRepository.SearchTablePaged(Array("ID","%" & searchValue & "%","JobNumber","%" & searchValue & "%","Jcode","%" & searchValue & "%"),"ID", page_size, page_num, page_count, record_count)
  322. Model.CurrentPageNumber = page_num
  323. Model.PageSize = page_size
  324. Model.PageCount = page_count
  325. Model.RecordCount = record_count
  326. %> <!--#include file="../../Views/Kit/Index.asp"--> <%
  327. End Sub
  328. Public Sub SwitchBoardEdit
  329. Flash.ShowSuccessIfPresent
  330. dim id : id = Request.QueryString("Id")
  331. set Model = new SwitchBoard_ViewModel_Class
  332. set Model.Kit = KitRepository.SwitchBoardEditFindById(id)
  333. set Model.Labels = KitLabelsRepository.Find(Array("KitId =?",id),empty)
  334. Model.Title = "Kit for "
  335. HTMLSecurity.SetAntiCSRFToken "KitEditForm"
  336. %> <!--#include file="../../Views/Kit/SwitchBoardEdit.asp"--> <%
  337. End Sub
  338. Public Sub ExportTrackingLabels(id)
  339. dim KitInfo : Set KitInfo = KitRepository.FindByID(id)
  340. dim JurisdictionInfo : Set JurisdictionInfo = JurisdictionRepository.FindByJCode(KitInfo.Jcode)
  341. ReportManager.Filename = Request.ServerVariables("APPL_PHYSICAL_PATH") & "Data\Label_Report.rep"
  342. if dev = true Then
  343. 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;"
  344. else
  345. ReportManager.SetDatabaseConnectionString "TRACKINGKITLABELS","Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=C:\inetpub\Data\webdata - Copy.mdb;"
  346. End If
  347. ReportManager.Preview = false
  348. ReportManager.ShowProgress = false
  349. ReportManager.ShowPrintDialog = false
  350. ReportManager.SetParamValue "PBKITID", CInt(id)
  351. if FSO.FolderExists(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name) = False then
  352. FSO.CreateFolder(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name)
  353. end if
  354. dim labelsJobFileName : labelsJobFileName = KitInfo.JobNumber & " - " & JurisdictionInfo.Name & "_labels.pdf"
  355. dim labelsJobTempFileName : labelsJobTempFileName = KitInfo.JobNumber & " - " & JurisdictionInfo.Name & " Labels.pdf"
  356. if FSO.FileExists(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & labelsJobFileName) then
  357. FSO.DeleteFile(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & labelsJobFileName)
  358. end if
  359. ReportManager.SaveToPdf Request.ServerVariables("APPL_PHYSICAL_PATH") & "\Data\" & labelsJobTempFileName,1
  360. FSO.MoveFile Request.ServerVariables("APPL_PHYSICAL_PATH") & "\Data\" & labelsJobTempFileName , ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & labelsJobFileName
  361. End Sub
  362. Public Sub ExportSnailWorksTracking(id)
  363. dim KitInfo : Set KitInfo = KitRepository.FindByID(id)
  364. dim JurisdictionInfo : Set JurisdictionInfo = JurisdictionRepository.FindByJCode(KitInfo.Jcode)
  365. if FSO.FolderExists(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name) = False then
  366. FSO.CreateFolder(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name)
  367. end if
  368. if FSO.FileExists(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_SW_EXPORT.csv") then
  369. FSO.DeleteFile(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_SW_EXPORT.csv")
  370. end if
  371. dim export: set export = SnailWorksRepository.GetSnailWorksExportById(id)
  372. if export.DetailRecords.Count > 0 Then
  373. dim objExportFile: Set objExportFile = FSO.CreateTextFile(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_SW_EXPORT.csv",2)
  374. With objExportFile
  375. .Write """" & export.Header.RecordType & ""","
  376. .Write """" & export.Header.Version & ""","
  377. .Write """" & export.Header.UserId & ""","
  378. .Write """" & export.Header.ClientName & ""","
  379. .Write """" & export.Header.ParentClientName & ""","
  380. .Write """" & export.Header.JobName & ""","
  381. .Write """" & export.Header.JobDescription & ""","
  382. .Write """" & export.Header.SplitName & ""","
  383. .Write """" & export.Header.SplitDescription & ""","
  384. .Write """" & export.Header.PieceType & ""","
  385. .Write """" & export.Header.MailDate & ""","
  386. .Write """" & export.Header.UploadType & ""","
  387. .Write """" & export.Header.TrackedQuanity & ""","
  388. .Write """" & export.Header.PiecesMailed & ""","
  389. .Write """" & export.Header.TargetInHomeDateStart & ""","
  390. .Write """" & export.Header.TargetInHomeDateEnd & ""","
  391. .Write """" & export.Header.ConfirmationEmail & ""","
  392. .Write """" & export.Header.JobId & ""","
  393. .Write """" & export.Header.SplitId & ""","
  394. .Write """" & export.Header.TypeOfTracking & ""","
  395. .Write """" & export.Header.ReturnedPostalRoutingCode & ""","
  396. .Write """" & export.Header.ReportId1 & ""","
  397. .Write """" & export.Header.Report1Email & ""","
  398. .Write """" & export.Header.ReportId2 & ""","
  399. .Write """" & export.Header.Report2Email & ""","
  400. .Write """" & export.Header.INFOONLY & """"
  401. .Write vbCrLf
  402. dim it:set it = export.DetailRecords.Iterator
  403. dim records
  404. while it.HasNext
  405. set records = it.GetNext()
  406. .Write """" & records.RecordType & ""","
  407. .Write """" & records.CustomerUniqueIdentifier & ""","
  408. .Write """" & records.IMB & ""","
  409. .Write """" & records.Greeting & ""","
  410. .Write """" & records.FirstName & ""","
  411. .Write """" & records.MI & ""","
  412. .Write """" & records.LastName & ""","
  413. .Write """" & records.Suffix & ""","
  414. .Write """" & records.FullName & ""","
  415. .Write """" & records.Company & ""","
  416. .Write """" & records.Title & ""","
  417. .Write """" & records.Address1 & ""","
  418. .Write """" & records.Address2 & ""","
  419. .Write """" & records.City & ""","
  420. .Write """" & records.State & ""","
  421. .Write """" & records.Zip & ""","
  422. .Write """" & records.UserDefined1 & ""","
  423. .Write """" & records.UserDefined2 & ""","
  424. .Write """" & records.UserDefined3 & ""","
  425. .Write """" & records.UserDefinedIdentifier4 & ""","
  426. .Write """" & records.UserDefinedIdentifier5 & ""","
  427. .Write """" & records.SeedIndicator & ""","
  428. .Write """" & records.InductionPoint & ""","
  429. .Write """" & records.InductionDate & ""","
  430. .Write """" & records.InBoundIMB & ""","
  431. .Write """" & records.IMCB & ""","
  432. .Write """" & records.IMTB & """" & vbCRLF
  433. Wend
  434. End With
  435. End If
  436. End Sub
  437. Public Sub Edit
  438. dim id : id = Request.QueryString("Id")
  439. set Model = new Edit_ViewModel_Class
  440. set Model.Kit = KitRepository.FindByID(id)
  441. Model.Title = "Edit Kit"
  442. HTMLSecurity.SetAntiCSRFToken "KitEditForm"
  443. %> <!--#include file="../../Views/Kit/Edit.asp"--> <%
  444. Flash.Success = "Kit Updated."
  445. End Sub
  446. Public Sub EditPost
  447. MVC.RequirePost
  448. HTMLSecurity.OnInvalidAntiCsrfTokenRedirectToActionExt "KitEditForm", Request.Form("nonce"), "Edit", Array("Id", Request.Form("Id"))
  449. dim ID : ID = Request.Form("Id")
  450. dim originalModel : set originalModel = KitRepository.FindByID(ID)
  451. dim model : set model = KitRepository.FindByID(ID)
  452. set model = Automapper.AutoMap(Request.Form, model)
  453. ' Handle date fields - if empty string, preserve original value or set to Null
  454. If Len(Trim(model.CreatedOn & "")) = 0 Then
  455. model.CreatedOn = originalModel.CreatedOn
  456. End If
  457. If Len(Trim(model.LabelsPrinted & "")) = 0 Then
  458. model.LabelsPrinted = Null
  459. End If
  460. If Len(Trim(model.ExportedToSnailWorks & "")) = 0 Then
  461. model.ExportedToSnailWorks = Null
  462. End If
  463. ' Handle boolean/numeric fields - convert "True"/"False" strings to proper numeric values
  464. If UCase(Trim(model.InkJetJob & "")) = "TRUE" Then
  465. model.InkJetJob = -1
  466. ElseIf UCase(Trim(model.InkJetJob & "")) = "FALSE" Then
  467. model.InkJetJob = 0
  468. ElseIf Len(Trim(model.InkJetJob & "")) = 0 Then
  469. model.InkJetJob = 0
  470. End If
  471. If UCase(Trim(model.Cass & "")) = "TRUE" Then
  472. model.Cass = -1
  473. ElseIf UCase(Trim(model.Cass & "")) = "FALSE" Then
  474. model.Cass = 0
  475. ElseIf Len(Trim(model.Cass & "")) = 0 Then
  476. model.Cass = 0
  477. End If
  478. ' Handle numeric fields - if empty string, set to 0 or Null
  479. If Len(Trim(model.OfficeCopiesAmount & "")) = 0 Then
  480. model.OfficeCopiesAmount = 0
  481. End If
  482. ' Handle STID fields - if empty string, set to Null
  483. If Len(Trim(model.OutboundSTID & "")) = 0 Then
  484. model.OutboundSTID = Null
  485. End If
  486. If Len(Trim(model.InboundSTID & "")) = 0 Then
  487. model.InboundSTID = Null
  488. End If
  489. 'model.Validate
  490. 'If model.Validator.HasErrors then
  491. FormCache.SerializeForm "EditKit", Request.Form
  492. ' Flash.Errors = model.Validator.Errors
  493. ' MVC.RedirectToActionExt "Edit", Array("Id",ID)
  494. 'Else
  495. KitRepository.Update model
  496. FormCache.ClearForm "EditKit"
  497. Flash.Success = "Kit updated."
  498. MVC.RedirectToAction "Index"
  499. 'End If
  500. End Sub
  501. Public Sub CreateTrackingKit
  502. dim form_params : set form_params = FormCache.DeserializeForm("NewKit")
  503. dim ID : ID = Request.QueryString("Id")
  504. dim model : set model = new Create_ViewModel_Class
  505. model.Title = "Create Kit "
  506. model.JCode = ID
  507. dim ugh : set ugh = JurisdictionRepository.Find(Array("[JCode] = ?",ID),empty)
  508. set model.Jurisdiction = ugh.pop()
  509. 'If Not form_params Is Nothing then
  510. ' set Model = Automapper.AutoMap(form_params, New Create_ViewModel_Class)
  511. 'Else
  512. ' set Model = new Create_ViewModel_Class
  513. 'End If
  514. HTMLSecurity.SetAntiCSRFToken "KitCreateForm"
  515. %> <!--#include file="../../Views/Kit/CreateTrackingKit.asp"--> <%
  516. End Sub
  517. Public Sub Create
  518. dim form_params : set form_params = FormCache.DeserializeForm("NewKit")
  519. dim ID : ID = Request.QueryString("Id")
  520. dim model : set model = new Create_ViewModel_Class
  521. model.Title = "Create Kit "
  522. model.JCode = ID
  523. dim ugh : set ugh = JurisdictionRepository.Find(Array("[JCode] = ?",ID),empty)
  524. set model.Jurisdiction = ugh.pop()
  525. 'If Not form_params Is Nothing then
  526. ' set Model = Automapper.AutoMap(form_params, New Create_ViewModel_Class)
  527. 'Else
  528. ' set Model = new Create_ViewModel_Class
  529. 'End If
  530. HTMLSecurity.SetAntiCSRFToken "KitCreateForm"
  531. %> <!--#include file="../../Views/Kit/Create.asp"--> <%
  532. End Sub
  533. Public Sub CreatePost
  534. MVC.RequirePost
  535. HtmlSecurity.OnInvalidAntiCSRFTokenRedirectToAction "KitCreateForm", Request.Form("nonce"), "Create"
  536. dim new_Kit_model : set new_Kit_model = Automapper.AutoMap(Request.Form, new KitModel_Class)
  537. 'new_Kit_model.Validator.Validate
  538. 'If new_Kit_model.Validator.HasErrors then
  539. ' FormCache.SerializeForm "NewKit", Request.Form
  540. ' Flash.Errors = new_Kit_model.Validator.Errors
  541. ' MVC.RedirectToAction "Create"
  542. 'Else
  543. KitRepository.AddNew new_Kit_model
  544. KitLabelsRepository.BulkAdd new_Kit_model.ID,Request.Form("Amount")
  545. ' FormCache.ClearForm "NewKit"
  546. ExportTrackingLabels(new_Kit_model.ID)
  547. ExportSnailWorksTracking(new_Kit_model.ID)
  548. Flash.Success = "Kit added."
  549. MVC.RedirectToAction "Index"
  550. 'End If
  551. End Sub
  552. Public Sub CreateTrackingKitPost
  553. MVC.RequirePost
  554. HtmlSecurity.OnInvalidAntiCSRFTokenRedirectToAction "KitCreateForm", Request.Form("nonce"), "Create"
  555. dim new_Kit_model : set new_Kit_model = Automapper.AutoMap(Request.Form, new KitModel_Class)
  556. 'new_Kit_model.Validator.Validate
  557. 'If new_Kit_model.Validator.HasErrors then
  558. ' FormCache.SerializeForm "NewKit", Request.Form
  559. ' Flash.Errors = new_Kit_model.Validator.Errors
  560. ' MVC.RedirectToAction "Create"
  561. 'Else
  562. KitRepository.AddNew new_Kit_model
  563. KitLabelsRepository.BulkAdd new_Kit_model.ID,Request.Form("Amount")
  564. ' FormCache.ClearForm "NewKit"
  565. Flash.Success = "Kit added."
  566. MVC.RedirectToAction "Index"
  567. 'End If
  568. End Sub
  569. Public Sub Delete
  570. dim id : id = Request.QueryString("Id")
  571. set Model = new Delete_ViewModel_Class
  572. set Model.Kit = KitRepository.FindByID(id)
  573. Model.Title = "Delete Kit"
  574. HTMLSecurity.SetAntiCSRFToken "KitDeleteForm"
  575. %> <!--#include file="../../Views/Kit/Delete.asp"--> <%
  576. End Sub
  577. Public Sub DeletePost
  578. MVC.RequirePost
  579. HtmlSecurity.OnInvalidAntiCSRFTokenRedirectToAction "KitDeleteForm", Request.Form("nonce"), "Create"
  580. dim id : id = Request.Form("Id")
  581. KitRepository.Delete id
  582. Flash.Success = "Kit deleted."
  583. MVC.RedirectToAction "Index"
  584. End Sub
  585. End Class
  586. MVC.Dispatch
  587. %>

Powered by TurnKey Linux.