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

454 строки
18KB

  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 = InkjetRecordsRepository.GetDistinctPrecinctsByKitId(id)
  89. Model.Title = "Purple Envelopes for "
  90. HTMLSecurity.SetAntiCSRFToken "KitEditForm"
  91. HTMLSecurity.SetAntiCSRFToken "ColorAssignForm"
  92. %> <!--#include file="../../Views/Kit/SwitchBoardPurpleEnvelopeEdit.asp"--> <%
  93. End Sub
  94. Public Sub Index
  95. dim page_size : page_size = 10
  96. dim page_num : page_num = Choice(Len(Request.Querystring("page_num")) > 0, Request.Querystring("page_num"), 1)
  97. dim page_count, record_count
  98. set Model = new PagedIndex_ViewModel_Class
  99. Model.Title = "Tracking Kits"
  100. set Model.Kit = KitRepository.FindPaged(empty, "ID", page_size, page_num, page_count, record_count)
  101. Model.CurrentPageNumber = page_num
  102. Model.PageSize = page_size
  103. Model.PageCount = page_count
  104. Model.RecordCount = record_count
  105. %> <!--#include file="../../Views/Kit/Index.asp"--> <%
  106. End Sub
  107. Public Sub Search
  108. dim searchValue:searchValue = Choice(Request.Form.Count = 0,Request.QueryString("q"),Request.Form("q"))
  109. dim page_size : page_size = 10
  110. dim page_num : page_num = Choice(Len(Request.Querystring("page_num")) > 0, Request.Querystring("page_num"), 1)
  111. dim page_count, record_count
  112. set Model = new PagedIndex_ViewModel_Class
  113. Model.Title = "Kit"
  114. set Model.Kit = KitRepository.SearchTablePaged(Array("ID","%" & searchValue & "%","JobNumber","%" & searchValue & "%","Jcode","%" & searchValue & "%"),"ID", page_size, page_num, page_count, record_count)
  115. Model.CurrentPageNumber = page_num
  116. Model.PageSize = page_size
  117. Model.PageCount = page_count
  118. Model.RecordCount = record_count
  119. %> <!--#include file="../../Views/Kit/Index.asp"--> <%
  120. End Sub
  121. Public Sub SwitchBoardEdit
  122. Flash.ShowSuccessIfPresent
  123. dim id : id = Request.QueryString("Id")
  124. set Model = new SwitchBoard_ViewModel_Class
  125. set Model.Kit = KitRepository.SwitchBoardEditFindById(id)
  126. set Model.Labels = KitLabelsRepository.Find(Array("KitId =?",id),empty)
  127. Model.Title = "Kit for "
  128. HTMLSecurity.SetAntiCSRFToken "KitEditForm"
  129. %> <!--#include file="../../Views/Kit/SwitchBoardEdit.asp"--> <%
  130. End Sub
  131. Public Sub ExportTrackingLabels(id)
  132. dim KitInfo : Set KitInfo = KitRepository.FindByID(id)
  133. dim JurisdictionInfo : Set JurisdictionInfo = JurisdictionRepository.FindByJCode(KitInfo.Jcode)
  134. ReportManager.Filename = Request.ServerVariables("APPL_PHYSICAL_PATH") & "Data\Label_Report.rep"
  135. if dev = true Then
  136. 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;"
  137. else
  138. ReportManager.SetDatabaseConnectionString "TRACKINGKITLABELS","Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=C:\inetpub\Data\webdata - Copy.mdb;"
  139. End If
  140. ReportManager.Preview = false
  141. ReportManager.ShowProgress = false
  142. ReportManager.ShowPrintDialog = false
  143. ReportManager.SetParamValue "PBKITID", CInt(id)
  144. if FSO.FolderExists(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name) = False then
  145. FSO.CreateFolder(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name)
  146. end if
  147. if FSO.FileExists(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_labels.pdf") then
  148. FSO.DeleteFile(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_labels.pdf")
  149. end if
  150. ReportManager.SaveToPdf Request.ServerVariables("APPL_PHYSICAL_PATH") & "\Data\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & " Labels.pdf",1
  151. 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"
  152. End Sub
  153. Public Sub ExportSnailWorksTracking(id)
  154. dim KitInfo : Set KitInfo = KitRepository.FindByID(id)
  155. dim JurisdictionInfo : Set JurisdictionInfo = JurisdictionRepository.FindByJCode(KitInfo.Jcode)
  156. if FSO.FolderExists(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name) = False then
  157. FSO.CreateFolder(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name)
  158. end if
  159. if FSO.FileExists(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_SW_EXPORT.csv") then
  160. FSO.DeleteFile(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_SW_EXPORT.csv")
  161. end if
  162. dim export: set export = SnailWorksRepository.GetSnailWorksExportById(id)
  163. if export.DetailRecords.Count > 0 Then
  164. dim objExportFile: Set objExportFile = FSO.CreateTextFile(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_SW_EXPORT.csv",2)
  165. With objExportFile
  166. .Write """" & export.Header.RecordType & ""","
  167. .Write """" & export.Header.Version & ""","
  168. .Write """" & export.Header.UserId & ""","
  169. .Write """" & export.Header.ClientName & ""","
  170. .Write """" & export.Header.ParentClientName & ""","
  171. .Write """" & export.Header.JobName & ""","
  172. .Write """" & export.Header.JobDescription & ""","
  173. .Write """" & export.Header.SplitName & ""","
  174. .Write """" & export.Header.SplitDescription & ""","
  175. .Write """" & export.Header.PieceType & ""","
  176. .Write """" & export.Header.MailDate & ""","
  177. .Write """" & export.Header.UploadType & ""","
  178. .Write """" & export.Header.TrackedQuanity & ""","
  179. .Write """" & export.Header.PiecesMailed & ""","
  180. .Write """" & export.Header.TargetInHomeDateStart & ""","
  181. .Write """" & export.Header.TargetInHomeDateEnd & ""","
  182. .Write """" & export.Header.ConfirmationEmail & ""","
  183. .Write """" & export.Header.JobId & ""","
  184. .Write """" & export.Header.SplitId & ""","
  185. .Write """" & export.Header.TypeOfTracking & ""","
  186. .Write """" & export.Header.ReturnedPostalRoutingCode & ""","
  187. .Write """" & export.Header.ReportId1 & ""","
  188. .Write """" & export.Header.Report1Email & ""","
  189. .Write """" & export.Header.ReportId2 & ""","
  190. .Write """" & export.Header.Report2Email & ""","
  191. .Write """" & export.Header.INFOONLY & """"
  192. .Write vbCrLf
  193. dim it:set it = export.DetailRecords.Iterator
  194. dim records
  195. while it.HasNext
  196. set records = it.GetNext()
  197. .Write """" & records.RecordType & ""","
  198. .Write """" & records.CustomerUniqueIdentifier & ""","
  199. .Write """" & records.IMB & ""","
  200. .Write """" & records.Greeting & ""","
  201. .Write """" & records.FirstName & ""","
  202. .Write """" & records.MI & ""","
  203. .Write """" & records.LastName & ""","
  204. .Write """" & records.Suffix & ""","
  205. .Write """" & records.FullName & ""","
  206. .Write """" & records.Company & ""","
  207. .Write """" & records.Title & ""","
  208. .Write """" & records.Address1 & ""","
  209. .Write """" & records.Address2 & ""","
  210. .Write """" & records.City & ""","
  211. .Write """" & records.State & ""","
  212. .Write """" & records.Zip & ""","
  213. .Write """" & records.UserDefined1 & ""","
  214. .Write """" & records.UserDefined2 & ""","
  215. .Write """" & records.UserDefined3 & ""","
  216. .Write """" & records.UserDefinedIdentifier4 & ""","
  217. .Write """" & records.UserDefinedIdentifier5 & ""","
  218. .Write """" & records.SeedIndicator & ""","
  219. .Write """" & records.InductionPoint & ""","
  220. .Write """" & records.InductionDate & ""","
  221. .Write """" & records.InBoundIMB & ""","
  222. .Write """" & records.IMCB & ""","
  223. .Write """" & records.IMTB & """" & vbCRLF
  224. Wend
  225. End With
  226. End If
  227. End Sub
  228. Public Sub Edit
  229. dim id : id = Request.QueryString("Id")
  230. set Model = new Edit_ViewModel_Class
  231. set Model.Kit = KitRepository.FindByID(id)
  232. Model.Title = "Edit Kit"
  233. HTMLSecurity.SetAntiCSRFToken "KitEditForm"
  234. %> <!--#include file="../../Views/Kit/Edit.asp"--> <%
  235. Flash.Success = "Kit Updated."
  236. End Sub
  237. Public Sub EditPost
  238. MVC.RequirePost
  239. HTMLSecurity.OnInvalidAntiCsrfTokenRedirectToActionExt "KitEditForm", Request.Form("nonce"), "Edit", Array("Id", Request.Form("Id"))
  240. dim ID : ID = Request.Form("Id")
  241. dim originalModel : set originalModel = KitRepository.FindByID(ID)
  242. dim model : set model = KitRepository.FindByID(ID)
  243. set model = Automapper.AutoMap(Request.Form, model)
  244. ' Handle date fields - if empty string, preserve original value or set to Null
  245. If Len(Trim(model.CreatedOn & "")) = 0 Then
  246. model.CreatedOn = originalModel.CreatedOn
  247. End If
  248. If Len(Trim(model.LabelsPrinted & "")) = 0 Then
  249. model.LabelsPrinted = Null
  250. End If
  251. If Len(Trim(model.ExportedToSnailWorks & "")) = 0 Then
  252. model.ExportedToSnailWorks = Null
  253. End If
  254. ' Handle boolean/numeric fields - convert "True"/"False" strings to proper numeric values
  255. If UCase(Trim(model.InkJetJob & "")) = "TRUE" Then
  256. model.InkJetJob = -1
  257. ElseIf UCase(Trim(model.InkJetJob & "")) = "FALSE" Then
  258. model.InkJetJob = 0
  259. ElseIf Len(Trim(model.InkJetJob & "")) = 0 Then
  260. model.InkJetJob = 0
  261. End If
  262. If UCase(Trim(model.Cass & "")) = "TRUE" Then
  263. model.Cass = -1
  264. ElseIf UCase(Trim(model.Cass & "")) = "FALSE" Then
  265. model.Cass = 0
  266. ElseIf Len(Trim(model.Cass & "")) = 0 Then
  267. model.Cass = 0
  268. End If
  269. ' Handle numeric fields - if empty string, set to 0 or Null
  270. If Len(Trim(model.OfficeCopiesAmount & "")) = 0 Then
  271. model.OfficeCopiesAmount = 0
  272. End If
  273. ' Handle STID fields - if empty string, set to Null
  274. If Len(Trim(model.OutboundSTID & "")) = 0 Then
  275. model.OutboundSTID = Null
  276. End If
  277. If Len(Trim(model.InboundSTID & "")) = 0 Then
  278. model.InboundSTID = Null
  279. End If
  280. 'model.Validate
  281. 'If model.Validator.HasErrors then
  282. FormCache.SerializeForm "EditKit", Request.Form
  283. ' Flash.Errors = model.Validator.Errors
  284. ' MVC.RedirectToActionExt "Edit", Array("Id",ID)
  285. 'Else
  286. KitRepository.Update model
  287. FormCache.ClearForm "EditKit"
  288. Flash.Success = "Kit updated."
  289. MVC.RedirectToAction "Index"
  290. 'End If
  291. End Sub
  292. Public Sub CreateTrackingKit
  293. dim form_params : set form_params = FormCache.DeserializeForm("NewKit")
  294. dim ID : ID = Request.QueryString("Id")
  295. dim model : set model = new Create_ViewModel_Class
  296. model.Title = "Create Kit "
  297. model.JCode = ID
  298. dim ugh : set ugh = JurisdictionRepository.Find(Array("[JCode] = ?",ID),empty)
  299. set model.Jurisdiction = ugh.pop()
  300. 'If Not form_params Is Nothing then
  301. ' set Model = Automapper.AutoMap(form_params, New Create_ViewModel_Class)
  302. 'Else
  303. ' set Model = new Create_ViewModel_Class
  304. 'End If
  305. HTMLSecurity.SetAntiCSRFToken "KitCreateForm"
  306. %> <!--#include file="../../Views/Kit/CreateTrackingKit.asp"--> <%
  307. End Sub
  308. Public Sub Create
  309. dim form_params : set form_params = FormCache.DeserializeForm("NewKit")
  310. dim ID : ID = Request.QueryString("Id")
  311. dim model : set model = new Create_ViewModel_Class
  312. model.Title = "Create Kit "
  313. model.JCode = ID
  314. dim ugh : set ugh = JurisdictionRepository.Find(Array("[JCode] = ?",ID),empty)
  315. set model.Jurisdiction = ugh.pop()
  316. 'If Not form_params Is Nothing then
  317. ' set Model = Automapper.AutoMap(form_params, New Create_ViewModel_Class)
  318. 'Else
  319. ' set Model = new Create_ViewModel_Class
  320. 'End If
  321. HTMLSecurity.SetAntiCSRFToken "KitCreateForm"
  322. %> <!--#include file="../../Views/Kit/Create.asp"--> <%
  323. End Sub
  324. Public Sub CreatePost
  325. MVC.RequirePost
  326. HtmlSecurity.OnInvalidAntiCSRFTokenRedirectToAction "KitCreateForm", Request.Form("nonce"), "Create"
  327. dim new_Kit_model : set new_Kit_model = Automapper.AutoMap(Request.Form, new KitModel_Class)
  328. 'new_Kit_model.Validator.Validate
  329. 'If new_Kit_model.Validator.HasErrors then
  330. ' FormCache.SerializeForm "NewKit", Request.Form
  331. ' Flash.Errors = new_Kit_model.Validator.Errors
  332. ' MVC.RedirectToAction "Create"
  333. 'Else
  334. KitRepository.AddNew new_Kit_model
  335. KitLabelsRepository.BulkAdd new_Kit_model.ID,Request.Form("Amount")
  336. ' FormCache.ClearForm "NewKit"
  337. ExportTrackingLabels(new_Kit_model.ID)
  338. ExportSnailWorksTracking(new_Kit_model.ID)
  339. Flash.Success = "Kit added."
  340. MVC.RedirectToAction "Index"
  341. 'End If
  342. End Sub
  343. Public Sub CreateTrackingKitPost
  344. MVC.RequirePost
  345. HtmlSecurity.OnInvalidAntiCSRFTokenRedirectToAction "KitCreateForm", Request.Form("nonce"), "Create"
  346. dim new_Kit_model : set new_Kit_model = Automapper.AutoMap(Request.Form, new KitModel_Class)
  347. 'new_Kit_model.Validator.Validate
  348. 'If new_Kit_model.Validator.HasErrors then
  349. ' FormCache.SerializeForm "NewKit", Request.Form
  350. ' Flash.Errors = new_Kit_model.Validator.Errors
  351. ' MVC.RedirectToAction "Create"
  352. 'Else
  353. KitRepository.AddNew new_Kit_model
  354. KitLabelsRepository.BulkAdd new_Kit_model.ID,Request.Form("Amount")
  355. ' FormCache.ClearForm "NewKit"
  356. Flash.Success = "Kit added."
  357. MVC.RedirectToAction "Index"
  358. 'End If
  359. End Sub
  360. Public Sub Delete
  361. dim id : id = Request.QueryString("Id")
  362. set Model = new Delete_ViewModel_Class
  363. set Model.Kit = KitRepository.FindByID(id)
  364. Model.Title = "Delete Kit"
  365. HTMLSecurity.SetAntiCSRFToken "KitDeleteForm"
  366. %> <!--#include file="../../Views/Kit/Delete.asp"--> <%
  367. End Sub
  368. Public Sub DeletePost
  369. MVC.RequirePost
  370. HtmlSecurity.OnInvalidAntiCSRFTokenRedirectToAction "KitDeleteForm", Request.Form("nonce"), "Create"
  371. dim id : id = Request.Form("Id")
  372. KitRepository.Delete id
  373. Flash.Success = "Kit deleted."
  374. MVC.RedirectToAction "Index"
  375. End Sub
  376. End Class
  377. MVC.Dispatch
  378. %>

Powered by TurnKey Linux.