No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

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

Powered by TurnKey Linux.