You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

614 lines
22KB

  1. <% Option Explicit %>
  2. <!--#include file="../../include_all.asp"-->
  3. <!--#include file="../../ViewModels/KitViewModels.asp"-->
  4. <%
  5. Class KitController
  6. Public Model
  7. Public Sub SwitchBoardIndex
  8. dim page_size : page_size = 10
  9. dim page_num : page_num = Choice(Len(Request.Querystring("page_num")) > 0, Request.Querystring("page_num"), 1)
  10. dim page_count, record_count
  11. set Model = new PagedIndex_ViewModel_Class
  12. Model.Title = "Tracking Kits"
  13. set Model.Kit = KitRepository.PagedIndexView(page_size, page_num, page_count, record_count)
  14. Model.CurrentPageNumber = page_num
  15. Model.PageSize = page_size
  16. Model.PageCount = page_count
  17. Model.RecordCount = record_count
  18. %> <!--#include file="../../Views/Kit/SwitchBoardIndex.asp"--> <%
  19. End Sub
  20. Public Sub SwitchBoardPurpleEnvelopsIndex
  21. dim page_size : page_size = 10
  22. dim page_num : page_num = Choice(Len(Request.Querystring("page_num")) > 0, Request.Querystring("page_num"), 1)
  23. dim page_count, record_count
  24. set Model = new SwitchBoard_PurpleEnvelopesViewModel_Class
  25. Model.Title = "Purple Envelope Kits"
  26. set Model.Kit = KitRepository.PagedPurpleEnvelopsIndexView(page_size, page_num, page_count, record_count)
  27. Model.CurrentPageNumber = page_num
  28. Model.PageSize = page_size
  29. Model.PageCount = page_count
  30. Model.RecordCount = record_count
  31. %> <!--#include file="../../Views/Kit/SwitchBoardPurpleEnvelopeIndex.asp"--> <%
  32. End Sub
  33. Public Sub SwitchBoardPurpleEnvelopeEditPost
  34. MVC.RequirePost
  35. HTMLSecurity.OnInvalidAntiCsrfTokenRedirectToActionExt "KitEditForm", Request.Form("nonce"), "Edit", Array("Id", Request.Form("Id"))
  36. dim ID : ID = Request.Form("Id")
  37. dim model : set model = KitRepository.FindByID(ID)
  38. set model = Automapper.AutoMap(Request.Form, model)
  39. if Request.Form("InBoundTracking") = "on" Then
  40. model.InboundSTID = SettingsRepository.FindByName("Inbound STID")
  41. end if
  42. model.Status = "Ready to Assign Labels"
  43. 'model.Validate
  44. 'If model.Validator.HasErrors then
  45. FormCache.SerializeForm "EditKit", Request.Form
  46. ' Flash.Errors = model.Validator.Errors
  47. ' MVC.RedirectToActionExt "Edit", Array("Id",ID)
  48. 'Else
  49. KitRepository.Update model
  50. FormCache.ClearForm "EditKit"
  51. Flash.Success = "Kit updated."
  52. MVC.RedirectToAction "Index"
  53. 'End If
  54. End Sub
  55. Public Sub AssignKitColorPost
  56. MVC.RequirePost
  57. HTMLSecurity.OnInvalidAntiCsrfTokenRedirectToActionExt "ColorAssignForm", Request.Form("nonce"), "SwitchBoardPurpleEnvelopeEdit", Array("Id", Request.Form("Id"))
  58. dim ID : ID = Request.Form("Id")
  59. If Len(Request.Form("KitColorId")) > 0 AND Request.Form("KitColorId") <> "" Then
  60. InkjetRecordsRepository.UpdateColorForKit CLng(ID), CLng(Request.Form("KitColorId"))
  61. End If
  62. Flash.Success = "Color applied to all labels in kit."
  63. MVC.RedirectToActionExt "SwitchBoardPurpleEnvelopeEdit", Array("Id", ID)
  64. End Sub
  65. Public Sub AssignPrecinctColorsPost
  66. MVC.RequirePost
  67. HTMLSecurity.OnInvalidAntiCsrfTokenRedirectToActionExt "ColorAssignForm", Request.Form("nonce"), "SwitchBoardPurpleEnvelopeEdit", Array("Id", Request.Form("Id"))
  68. dim ID : ID = Request.Form("Id")
  69. dim key
  70. For Each key In Request.Form
  71. If Left(key, 14) = "PrecinctColor_" Then
  72. dim precinct : precinct = Mid(key, 15)
  73. dim colorId : colorId = Request.Form(key)
  74. If Len(colorId) > 0 AND colorId <> "" Then
  75. InkjetRecordsRepository.UpdateColorForPrecinct CLng(ID), precinct, CLng(colorId)
  76. End If
  77. End If
  78. Next
  79. Flash.Success = "Precinct colors saved."
  80. MVC.RedirectToActionExt "SwitchBoardPurpleEnvelopeEdit", Array("Id", ID)
  81. End Sub
  82. Public Sub SwitchBoardPurpleEnvelopeEdit
  83. dim id : id = Request.QueryString("Id")
  84. set Model = new SwitchBoard_ViewModel_Class
  85. set Model.Kit = KitRepository.SwitchBoardPurpleEnvelopeEditFindById(id)
  86. set Model.StidDropDown = SettingsRepository.GetStidDropDownRS()
  87. set Model.ColorsDropDown = ColorsRepository.GetColorsDropDownRS()
  88. set Model.Precincts = SortPrecinctColorRows(InkjetRecordsRepository.GetDistinctPrecinctsByKitId(id))
  89. set Model.PrecinctBallotRanges = SortPrecinctBallotRangeRows(InkjetRecordsRepository.GetPrecinctBallotRangesByKitId(id))
  90. On Error Resume Next
  91. Model.PurpleEnvelopeElectionLabel = FormatPurpleEnvelopeElectionLabel(SettingsRepository.FindByName("Electiondate"))
  92. If Err.Number <> 0 Then
  93. Model.PurpleEnvelopeElectionLabel = ""
  94. Err.Clear
  95. End If
  96. On Error GoTo 0
  97. Model.Title = "Purple Envelopes for "
  98. HTMLSecurity.SetAntiCSRFToken "KitEditForm"
  99. HTMLSecurity.SetAntiCSRFToken "ColorAssignForm"
  100. %> <!--#include file="../../Views/Kit/SwitchBoardPurpleEnvelopeEdit.asp"--> <%
  101. End Sub
  102. Private Function FormatPurpleEnvelopeElectionLabel(ByVal rawValue)
  103. FormatPurpleEnvelopeElectionLabel = Trim(rawValue & "")
  104. If Len(FormatPurpleEnvelopeElectionLabel) = 0 Then Exit Function
  105. On Error Resume Next
  106. dim parsedDate : parsedDate = CDate(rawValue)
  107. If Err.Number = 0 Then
  108. FormatPurpleEnvelopeElectionLabel = MonthName(Month(parsedDate), True) & "-" & CStr(Year(parsedDate))
  109. Else
  110. Err.Clear
  111. End If
  112. On Error GoTo 0
  113. End Function
  114. Private Function SortPrecinctColorRows(ByVal rs)
  115. dim list : set list = new LinkedList_Class
  116. If rs.EOF Then
  117. set SortPrecinctColorRows = list
  118. Exit Function
  119. End If
  120. dim items()
  121. dim itemCount : itemCount = -1
  122. Do Until rs.EOF
  123. itemCount = itemCount + 1
  124. ReDim Preserve items(itemCount)
  125. dim row : set row = new PrecinctColorRow_ViewModel_Class
  126. row.PRECINCT = rs("PRECINCT")
  127. If IsNull(rs("ColorId")) Then
  128. row.ColorId = ""
  129. Else
  130. row.ColorId = rs("ColorId")
  131. End If
  132. Set items(itemCount) = row
  133. rs.MoveNext
  134. Loop
  135. SortPrecinctItems items
  136. dim i
  137. For i = 0 To UBound(items)
  138. list.Push items(i)
  139. Next
  140. set SortPrecinctColorRows = list
  141. End Function
  142. Private Function SortPrecinctBallotRangeRows(ByVal rs)
  143. dim list : set list = new LinkedList_Class
  144. If rs.EOF Then
  145. set SortPrecinctBallotRangeRows = list
  146. Exit Function
  147. End If
  148. dim items()
  149. dim itemCount : itemCount = -1
  150. Do Until rs.EOF
  151. itemCount = itemCount + 1
  152. ReDim Preserve items(itemCount)
  153. dim row : set row = new PrecinctBallotRangeRow_ViewModel_Class
  154. row.PRECINCT = rs("PRECINCT")
  155. row.LowBallotNumber = rs("LowBallotNumber")
  156. row.HighBallotNumber = rs("HighBallotNumber")
  157. Set items(itemCount) = row
  158. rs.MoveNext
  159. Loop
  160. SortPrecinctItems items
  161. dim i
  162. For i = 0 To UBound(items)
  163. list.Push items(i)
  164. Next
  165. set SortPrecinctBallotRangeRows = list
  166. End Function
  167. Private Sub SortPrecinctItems(ByRef items)
  168. If Not IsArray(items) Then Exit Sub
  169. dim i, j
  170. For i = 0 To UBound(items) - 1
  171. For j = i + 1 To UBound(items)
  172. If PrecinctSortsBefore(items(j).PRECINCT, items(i).PRECINCT) Then
  173. dim temp : set temp = items(i)
  174. Set items(i) = items(j)
  175. Set items(j) = temp
  176. End If
  177. Next
  178. Next
  179. End Sub
  180. Private Function PrecinctSortsBefore(ByVal leftPrecinct, ByVal rightPrecinct)
  181. dim leftType, leftNumber, leftSuffix, leftNormalized
  182. dim rightType, rightNumber, rightSuffix, rightNormalized
  183. ParsePrecinctSortParts leftPrecinct, leftType, leftNumber, leftSuffix, leftNormalized
  184. ParsePrecinctSortParts rightPrecinct, rightType, rightNumber, rightSuffix, rightNormalized
  185. If leftType <> rightType Then
  186. PrecinctSortsBefore = (leftType < rightType)
  187. Exit Function
  188. End If
  189. If leftType = 0 Then
  190. If leftNumber <> rightNumber Then
  191. PrecinctSortsBefore = (leftNumber < rightNumber)
  192. Exit Function
  193. End If
  194. If leftSuffix <> rightSuffix Then
  195. PrecinctSortsBefore = (leftSuffix < rightSuffix)
  196. Exit Function
  197. End If
  198. End If
  199. If leftNormalized <> rightNormalized Then
  200. PrecinctSortsBefore = (leftNormalized < rightNormalized)
  201. Else
  202. PrecinctSortsBefore = (UCase(Trim(leftPrecinct & "")) < UCase(Trim(rightPrecinct & "")))
  203. End If
  204. End Function
  205. Private Sub ParsePrecinctSortParts(ByVal precinct, ByRef precinctType, ByRef numericPart, ByRef suffixPart, ByRef normalizedText)
  206. dim rawPrecinct : rawPrecinct = Trim(precinct & "")
  207. dim leadingDigits : leadingDigits = ""
  208. dim i, currentChar
  209. For i = 1 To Len(rawPrecinct)
  210. currentChar = Mid(rawPrecinct, i, 1)
  211. If currentChar >= "0" And currentChar <= "9" Then
  212. leadingDigits = leadingDigits & currentChar
  213. Else
  214. Exit For
  215. End If
  216. Next
  217. If Len(leadingDigits) > 0 Then
  218. precinctType = 0
  219. numericPart = CLng(leadingDigits)
  220. suffixPart = UCase(Trim(Mid(rawPrecinct, Len(leadingDigits) + 1)))
  221. normalizedText = CStr(numericPart) & "|" & suffixPart
  222. Else
  223. precinctType = 1
  224. numericPart = 0
  225. suffixPart = UCase(rawPrecinct)
  226. normalizedText = suffixPart
  227. End If
  228. End Sub
  229. Public Sub Index
  230. dim page_size : page_size = 10
  231. dim page_num : page_num = Choice(Len(Request.Querystring("page_num")) > 0, Request.Querystring("page_num"), 1)
  232. dim page_count, record_count
  233. set Model = new PagedIndex_ViewModel_Class
  234. Model.Title = "Tracking Kits"
  235. set Model.Kit = KitRepository.FindPaged(empty, "ID", page_size, page_num, page_count, record_count)
  236. Model.CurrentPageNumber = page_num
  237. Model.PageSize = page_size
  238. Model.PageCount = page_count
  239. Model.RecordCount = record_count
  240. %> <!--#include file="../../Views/Kit/Index.asp"--> <%
  241. End Sub
  242. Public Sub Search
  243. dim searchValue:searchValue = Choice(Request.Form.Count = 0,Request.QueryString("q"),Request.Form("q"))
  244. dim page_size : page_size = 10
  245. dim page_num : page_num = Choice(Len(Request.Querystring("page_num")) > 0, Request.Querystring("page_num"), 1)
  246. dim page_count, record_count
  247. set Model = new PagedIndex_ViewModel_Class
  248. Model.Title = "Kit"
  249. set Model.Kit = KitRepository.SearchTablePaged(Array("ID","%" & searchValue & "%","JobNumber","%" & searchValue & "%","Jcode","%" & searchValue & "%"),"ID", page_size, page_num, page_count, record_count)
  250. Model.CurrentPageNumber = page_num
  251. Model.PageSize = page_size
  252. Model.PageCount = page_count
  253. Model.RecordCount = record_count
  254. %> <!--#include file="../../Views/Kit/Index.asp"--> <%
  255. End Sub
  256. Public Sub SwitchBoardEdit
  257. Flash.ShowSuccessIfPresent
  258. dim id : id = Request.QueryString("Id")
  259. set Model = new SwitchBoard_ViewModel_Class
  260. set Model.Kit = KitRepository.SwitchBoardEditFindById(id)
  261. set Model.Labels = KitLabelsRepository.Find(Array("KitId =?",id),empty)
  262. Model.Title = "Kit for "
  263. HTMLSecurity.SetAntiCSRFToken "KitEditForm"
  264. %> <!--#include file="../../Views/Kit/SwitchBoardEdit.asp"--> <%
  265. End Sub
  266. Public Sub ExportTrackingLabels(id)
  267. dim KitInfo : Set KitInfo = KitRepository.FindByID(id)
  268. dim JurisdictionInfo : Set JurisdictionInfo = JurisdictionRepository.FindByJCode(KitInfo.Jcode)
  269. ReportManager.Filename = Request.ServerVariables("APPL_PHYSICAL_PATH") & "Data\Label_Report.rep"
  270. if dev = true Then
  271. 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;"
  272. else
  273. ReportManager.SetDatabaseConnectionString "TRACKINGKITLABELS","Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=C:\inetpub\Data\webdata - Copy.mdb;"
  274. End If
  275. ReportManager.Preview = false
  276. ReportManager.ShowProgress = false
  277. ReportManager.ShowPrintDialog = false
  278. ReportManager.SetParamValue "PBKITID", CInt(id)
  279. if FSO.FolderExists(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name) = False then
  280. FSO.CreateFolder(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name)
  281. end if
  282. if FSO.FileExists(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_labels.pdf") then
  283. FSO.DeleteFile(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_labels.pdf")
  284. end if
  285. ReportManager.SaveToPdf Request.ServerVariables("APPL_PHYSICAL_PATH") & "\Data\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & " Labels.pdf",1
  286. 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"
  287. End Sub
  288. Public Sub ExportSnailWorksTracking(id)
  289. dim KitInfo : Set KitInfo = KitRepository.FindByID(id)
  290. dim JurisdictionInfo : Set JurisdictionInfo = JurisdictionRepository.FindByJCode(KitInfo.Jcode)
  291. if FSO.FolderExists(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name) = False then
  292. FSO.CreateFolder(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name)
  293. end if
  294. if FSO.FileExists(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_SW_EXPORT.csv") then
  295. FSO.DeleteFile(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_SW_EXPORT.csv")
  296. end if
  297. dim export: set export = SnailWorksRepository.GetSnailWorksExportById(id)
  298. if export.DetailRecords.Count > 0 Then
  299. dim objExportFile: Set objExportFile = FSO.CreateTextFile(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_SW_EXPORT.csv",2)
  300. With objExportFile
  301. .Write """" & export.Header.RecordType & ""","
  302. .Write """" & export.Header.Version & ""","
  303. .Write """" & export.Header.UserId & ""","
  304. .Write """" & export.Header.ClientName & ""","
  305. .Write """" & export.Header.ParentClientName & ""","
  306. .Write """" & export.Header.JobName & ""","
  307. .Write """" & export.Header.JobDescription & ""","
  308. .Write """" & export.Header.SplitName & ""","
  309. .Write """" & export.Header.SplitDescription & ""","
  310. .Write """" & export.Header.PieceType & ""","
  311. .Write """" & export.Header.MailDate & ""","
  312. .Write """" & export.Header.UploadType & ""","
  313. .Write """" & export.Header.TrackedQuanity & ""","
  314. .Write """" & export.Header.PiecesMailed & ""","
  315. .Write """" & export.Header.TargetInHomeDateStart & ""","
  316. .Write """" & export.Header.TargetInHomeDateEnd & ""","
  317. .Write """" & export.Header.ConfirmationEmail & ""","
  318. .Write """" & export.Header.JobId & ""","
  319. .Write """" & export.Header.SplitId & ""","
  320. .Write """" & export.Header.TypeOfTracking & ""","
  321. .Write """" & export.Header.ReturnedPostalRoutingCode & ""","
  322. .Write """" & export.Header.ReportId1 & ""","
  323. .Write """" & export.Header.Report1Email & ""","
  324. .Write """" & export.Header.ReportId2 & ""","
  325. .Write """" & export.Header.Report2Email & ""","
  326. .Write """" & export.Header.INFOONLY & """"
  327. .Write vbCrLf
  328. dim it:set it = export.DetailRecords.Iterator
  329. dim records
  330. while it.HasNext
  331. set records = it.GetNext()
  332. .Write """" & records.RecordType & ""","
  333. .Write """" & records.CustomerUniqueIdentifier & ""","
  334. .Write """" & records.IMB & ""","
  335. .Write """" & records.Greeting & ""","
  336. .Write """" & records.FirstName & ""","
  337. .Write """" & records.MI & ""","
  338. .Write """" & records.LastName & ""","
  339. .Write """" & records.Suffix & ""","
  340. .Write """" & records.FullName & ""","
  341. .Write """" & records.Company & ""","
  342. .Write """" & records.Title & ""","
  343. .Write """" & records.Address1 & ""","
  344. .Write """" & records.Address2 & ""","
  345. .Write """" & records.City & ""","
  346. .Write """" & records.State & ""","
  347. .Write """" & records.Zip & ""","
  348. .Write """" & records.UserDefined1 & ""","
  349. .Write """" & records.UserDefined2 & ""","
  350. .Write """" & records.UserDefined3 & ""","
  351. .Write """" & records.UserDefinedIdentifier4 & ""","
  352. .Write """" & records.UserDefinedIdentifier5 & ""","
  353. .Write """" & records.SeedIndicator & ""","
  354. .Write """" & records.InductionPoint & ""","
  355. .Write """" & records.InductionDate & ""","
  356. .Write """" & records.InBoundIMB & ""","
  357. .Write """" & records.IMCB & ""","
  358. .Write """" & records.IMTB & """" & vbCRLF
  359. Wend
  360. End With
  361. End If
  362. End Sub
  363. Public Sub Edit
  364. dim id : id = Request.QueryString("Id")
  365. set Model = new Edit_ViewModel_Class
  366. set Model.Kit = KitRepository.FindByID(id)
  367. Model.Title = "Edit Kit"
  368. HTMLSecurity.SetAntiCSRFToken "KitEditForm"
  369. %> <!--#include file="../../Views/Kit/Edit.asp"--> <%
  370. Flash.Success = "Kit Updated."
  371. End Sub
  372. Public Sub EditPost
  373. MVC.RequirePost
  374. HTMLSecurity.OnInvalidAntiCsrfTokenRedirectToActionExt "KitEditForm", Request.Form("nonce"), "Edit", Array("Id", Request.Form("Id"))
  375. dim ID : ID = Request.Form("Id")
  376. dim originalModel : set originalModel = KitRepository.FindByID(ID)
  377. dim model : set model = KitRepository.FindByID(ID)
  378. set model = Automapper.AutoMap(Request.Form, model)
  379. ' Handle date fields - if empty string, preserve original value or set to Null
  380. If Len(Trim(model.CreatedOn & "")) = 0 Then
  381. model.CreatedOn = originalModel.CreatedOn
  382. End If
  383. If Len(Trim(model.LabelsPrinted & "")) = 0 Then
  384. model.LabelsPrinted = Null
  385. End If
  386. If Len(Trim(model.ExportedToSnailWorks & "")) = 0 Then
  387. model.ExportedToSnailWorks = Null
  388. End If
  389. ' Handle boolean/numeric fields - convert "True"/"False" strings to proper numeric values
  390. If UCase(Trim(model.InkJetJob & "")) = "TRUE" Then
  391. model.InkJetJob = -1
  392. ElseIf UCase(Trim(model.InkJetJob & "")) = "FALSE" Then
  393. model.InkJetJob = 0
  394. ElseIf Len(Trim(model.InkJetJob & "")) = 0 Then
  395. model.InkJetJob = 0
  396. End If
  397. If UCase(Trim(model.Cass & "")) = "TRUE" Then
  398. model.Cass = -1
  399. ElseIf UCase(Trim(model.Cass & "")) = "FALSE" Then
  400. model.Cass = 0
  401. ElseIf Len(Trim(model.Cass & "")) = 0 Then
  402. model.Cass = 0
  403. End If
  404. ' Handle numeric fields - if empty string, set to 0 or Null
  405. If Len(Trim(model.OfficeCopiesAmount & "")) = 0 Then
  406. model.OfficeCopiesAmount = 0
  407. End If
  408. ' Handle STID fields - if empty string, set to Null
  409. If Len(Trim(model.OutboundSTID & "")) = 0 Then
  410. model.OutboundSTID = Null
  411. End If
  412. If Len(Trim(model.InboundSTID & "")) = 0 Then
  413. model.InboundSTID = Null
  414. End If
  415. 'model.Validate
  416. 'If model.Validator.HasErrors then
  417. FormCache.SerializeForm "EditKit", Request.Form
  418. ' Flash.Errors = model.Validator.Errors
  419. ' MVC.RedirectToActionExt "Edit", Array("Id",ID)
  420. 'Else
  421. KitRepository.Update model
  422. FormCache.ClearForm "EditKit"
  423. Flash.Success = "Kit updated."
  424. MVC.RedirectToAction "Index"
  425. 'End If
  426. End Sub
  427. Public Sub CreateTrackingKit
  428. dim form_params : set form_params = FormCache.DeserializeForm("NewKit")
  429. dim ID : ID = Request.QueryString("Id")
  430. dim model : set model = new Create_ViewModel_Class
  431. model.Title = "Create Kit "
  432. model.JCode = ID
  433. dim ugh : set ugh = JurisdictionRepository.Find(Array("[JCode] = ?",ID),empty)
  434. set model.Jurisdiction = ugh.pop()
  435. 'If Not form_params Is Nothing then
  436. ' set Model = Automapper.AutoMap(form_params, New Create_ViewModel_Class)
  437. 'Else
  438. ' set Model = new Create_ViewModel_Class
  439. 'End If
  440. HTMLSecurity.SetAntiCSRFToken "KitCreateForm"
  441. %> <!--#include file="../../Views/Kit/CreateTrackingKit.asp"--> <%
  442. End Sub
  443. Public Sub Create
  444. dim form_params : set form_params = FormCache.DeserializeForm("NewKit")
  445. dim ID : ID = Request.QueryString("Id")
  446. dim model : set model = new Create_ViewModel_Class
  447. model.Title = "Create Kit "
  448. model.JCode = ID
  449. dim ugh : set ugh = JurisdictionRepository.Find(Array("[JCode] = ?",ID),empty)
  450. set model.Jurisdiction = ugh.pop()
  451. 'If Not form_params Is Nothing then
  452. ' set Model = Automapper.AutoMap(form_params, New Create_ViewModel_Class)
  453. 'Else
  454. ' set Model = new Create_ViewModel_Class
  455. 'End If
  456. HTMLSecurity.SetAntiCSRFToken "KitCreateForm"
  457. %> <!--#include file="../../Views/Kit/Create.asp"--> <%
  458. End Sub
  459. Public Sub CreatePost
  460. MVC.RequirePost
  461. HtmlSecurity.OnInvalidAntiCSRFTokenRedirectToAction "KitCreateForm", Request.Form("nonce"), "Create"
  462. dim new_Kit_model : set new_Kit_model = Automapper.AutoMap(Request.Form, new KitModel_Class)
  463. 'new_Kit_model.Validator.Validate
  464. 'If new_Kit_model.Validator.HasErrors then
  465. ' FormCache.SerializeForm "NewKit", Request.Form
  466. ' Flash.Errors = new_Kit_model.Validator.Errors
  467. ' MVC.RedirectToAction "Create"
  468. 'Else
  469. KitRepository.AddNew new_Kit_model
  470. KitLabelsRepository.BulkAdd new_Kit_model.ID,Request.Form("Amount")
  471. ' FormCache.ClearForm "NewKit"
  472. ExportTrackingLabels(new_Kit_model.ID)
  473. ExportSnailWorksTracking(new_Kit_model.ID)
  474. Flash.Success = "Kit added."
  475. MVC.RedirectToAction "Index"
  476. 'End If
  477. End Sub
  478. Public Sub CreateTrackingKitPost
  479. MVC.RequirePost
  480. HtmlSecurity.OnInvalidAntiCSRFTokenRedirectToAction "KitCreateForm", Request.Form("nonce"), "Create"
  481. dim new_Kit_model : set new_Kit_model = Automapper.AutoMap(Request.Form, new KitModel_Class)
  482. 'new_Kit_model.Validator.Validate
  483. 'If new_Kit_model.Validator.HasErrors then
  484. ' FormCache.SerializeForm "NewKit", Request.Form
  485. ' Flash.Errors = new_Kit_model.Validator.Errors
  486. ' MVC.RedirectToAction "Create"
  487. 'Else
  488. KitRepository.AddNew new_Kit_model
  489. KitLabelsRepository.BulkAdd new_Kit_model.ID,Request.Form("Amount")
  490. ' FormCache.ClearForm "NewKit"
  491. Flash.Success = "Kit added."
  492. MVC.RedirectToAction "Index"
  493. 'End If
  494. End Sub
  495. Public Sub Delete
  496. dim id : id = Request.QueryString("Id")
  497. set Model = new Delete_ViewModel_Class
  498. set Model.Kit = KitRepository.FindByID(id)
  499. Model.Title = "Delete Kit"
  500. HTMLSecurity.SetAntiCSRFToken "KitDeleteForm"
  501. %> <!--#include file="../../Views/Kit/Delete.asp"--> <%
  502. End Sub
  503. Public Sub DeletePost
  504. MVC.RequirePost
  505. HtmlSecurity.OnInvalidAntiCSRFTokenRedirectToAction "KitDeleteForm", Request.Form("nonce"), "Create"
  506. dim id : id = Request.Form("Id")
  507. KitRepository.Delete id
  508. Flash.Success = "Kit deleted."
  509. MVC.RedirectToAction "Index"
  510. End Sub
  511. End Class
  512. MVC.Dispatch
  513. %>

Powered by TurnKey Linux.