<% Option Explicit %> <% Class KitController Public Model Public Sub SwitchBoardIndex dim page_size : page_size = 10 dim page_num : page_num = Choice(Len(Request.Querystring("page_num")) > 0, Request.Querystring("page_num"), 1) dim page_count, record_count set Model = new PagedIndex_ViewModel_Class Model.Title = "Tracking Kits" set Model.Kit = KitRepository.PagedIndexView(page_size, page_num, page_count, record_count) Model.CurrentPageNumber = page_num Model.PageSize = page_size Model.PageCount = page_count Model.RecordCount = record_count %> <% End Sub Public Sub SwitchBoardPurpleEnvelopsIndex dim page_size : page_size = 10 dim page_num : page_num = Choice(Len(Request.Querystring("page_num")) > 0, Request.Querystring("page_num"), 1) dim page_count, record_count set Model = new SwitchBoard_PurpleEnvelopesViewModel_Class Model.Title = "Purple Envelope Kits" set Model.Kit = KitRepository.PagedPurpleEnvelopsIndexView(page_size, page_num, page_count, record_count) Model.CurrentPageNumber = page_num Model.PageSize = page_size Model.PageCount = page_count Model.RecordCount = record_count %> <% End Sub Public Sub SwitchBoardPurpleEnvelopeEditPost MVC.RequirePost HTMLSecurity.OnInvalidAntiCsrfTokenRedirectToActionExt "KitEditForm", Request.Form("nonce"), "Edit", Array("Id", Request.Form("Id")) dim ID : ID = Request.Form("Id") dim model : set model = KitRepository.FindByID(ID) set model = Automapper.AutoMap(Request.Form, model) if Request.Form("InBoundTracking") = "on" Then model.InboundSTID = SettingsRepository.FindByName("Inbound STID") end if model.Status = "Ready to Assign Labels" 'model.Validate 'If model.Validator.HasErrors then FormCache.SerializeForm "EditKit", Request.Form ' Flash.Errors = model.Validator.Errors ' MVC.RedirectToActionExt "Edit", Array("Id",ID) 'Else KitRepository.Update model FormCache.ClearForm "EditKit" Flash.Success = "Kit updated." MVC.RedirectToAction "Index" 'End If End Sub Public Sub SwitchBoardPurpleEnvelopeEdit dim id : id = Request.QueryString("Id") set Model = new SwitchBoard_ViewModel_Class set Model.Kit = KitRepository.SwitchBoardPurpleEnvelopeEditFindById(id) set Model.Labels = InkjetRecordsRepository.Find(Array("KitId =?",id),empty) set Model.StidDropDown = SettingsRepository.GetStidDropDownRS() Model.Title = "Purple Envelopes for " HTMLSecurity.SetAntiCSRFToken "KitEditForm" %> <% End Sub Public Sub Index dim page_size : page_size = 10 dim page_num : page_num = Choice(Len(Request.Querystring("page_num")) > 0, Request.Querystring("page_num"), 1) dim page_count, record_count set Model = new PagedIndex_ViewModel_Class Model.Title = "Tracking Kits" set Model.Kit = KitRepository.FindPaged(empty, "ID", page_size, page_num, page_count, record_count) Model.CurrentPageNumber = page_num Model.PageSize = page_size Model.PageCount = page_count Model.RecordCount = record_count %> <% End Sub Public Sub Search dim searchValue:searchValue = Choice(Request.Form.Count = 0,Request.QueryString("q"),Request.Form("q")) dim page_size : page_size = 10 dim page_num : page_num = Choice(Len(Request.Querystring("page_num")) > 0, Request.Querystring("page_num"), 1) dim page_count, record_count set Model = new PagedIndex_ViewModel_Class Model.Title = "Kit" set Model.Kit = KitRepository.SearchTablePaged(Array("ID","%" & searchValue & "%","JobNumber","%" & searchValue & "%","Jcode","%" & searchValue & "%"),"ID", page_size, page_num, page_count, record_count) Model.CurrentPageNumber = page_num Model.PageSize = page_size Model.PageCount = page_count Model.RecordCount = record_count %> <% End Sub Public Sub SwitchBoardEdit Flash.ShowSuccessIfPresent dim id : id = Request.QueryString("Id") set Model = new SwitchBoard_ViewModel_Class set Model.Kit = KitRepository.SwitchBoardEditFindById(id) set Model.Labels = KitLabelsRepository.Find(Array("KitId =?",id),empty) Model.Title = "Kit for " HTMLSecurity.SetAntiCSRFToken "KitEditForm" %> <% End Sub Public Sub ExportTrackingLabels(id) dim KitInfo : Set KitInfo = KitRepository.FindByID(id) dim JurisdictionInfo : Set JurisdictionInfo = JurisdictionRepository.FindByJCode(KitInfo.Jcode) ReportManager.Filename = Request.ServerVariables("APPL_PHYSICAL_PATH") & "Data\Label_Report.rep" if dev = true Then 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;" else ReportManager.SetDatabaseConnectionString "TRACKINGKITLABELS","Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=C:\inetpub\Data\webdata - Copy.mdb;" End If ReportManager.Preview = false ReportManager.ShowProgress = false ReportManager.ShowPrintDialog = false ReportManager.SetParamValue "PBKITID", CInt(id) if FSO.FolderExists(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name) = False then FSO.CreateFolder(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name) end if if FSO.FileExists(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_labels.pdf") then FSO.DeleteFile(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_labels.pdf") end if ReportManager.SaveToPdf Request.ServerVariables("APPL_PHYSICAL_PATH") & "\Data\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & " Labels.pdf",1 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" End Sub Public Sub ExportSnailWorksTracking(id) dim KitInfo : Set KitInfo = KitRepository.FindByID(id) dim JurisdictionInfo : Set JurisdictionInfo = JurisdictionRepository.FindByJCode(KitInfo.Jcode) if FSO.FolderExists(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name) = False then FSO.CreateFolder(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name) end if if FSO.FileExists(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_SW_EXPORT.csv") then FSO.DeleteFile(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_SW_EXPORT.csv") end if dim export: set export = SnailWorksRepository.GetSnailWorksExportById(id) if export.DetailRecords.Count > 0 Then dim objExportFile: Set objExportFile = FSO.CreateTextFile(ExportDirectory & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "\" & JurisdictionInfo.JCode & "-" & JurisdictionInfo.Name & "_SW_EXPORT.csv",2) With objExportFile .Write """" & export.Header.RecordType & """," .Write """" & export.Header.Version & """," .Write """" & export.Header.UserId & """," .Write """" & export.Header.ClientName & """," .Write """" & export.Header.ParentClientName & """," .Write """" & export.Header.JobName & """," .Write """" & export.Header.JobDescription & """," .Write """" & export.Header.SplitName & """," .Write """" & export.Header.SplitDescription & """," .Write """" & export.Header.PieceType & """," .Write """" & export.Header.MailDate & """," .Write """" & export.Header.UploadType & """," .Write """" & export.Header.TrackedQuanity & """," .Write """" & export.Header.PiecesMailed & """," .Write """" & export.Header.TargetInHomeDateStart & """," .Write """" & export.Header.TargetInHomeDateEnd & """," .Write """" & export.Header.ConfirmationEmail & """," .Write """" & export.Header.JobId & """," .Write """" & export.Header.SplitId & """," .Write """" & export.Header.TypeOfTracking & """," .Write """" & export.Header.ReturnedPostalRoutingCode & """," .Write """" & export.Header.ReportId1 & """," .Write """" & export.Header.Report1Email & """," .Write """" & export.Header.ReportId2 & """," .Write """" & export.Header.Report2Email & """," .Write """" & export.Header.INFOONLY & """" .Write vbCrLf dim it:set it = export.DetailRecords.Iterator dim records while it.HasNext set records = it.GetNext() .Write """" & records.RecordType & """," .Write """" & records.CustomerUniqueIdentifier & """," .Write """" & records.IMB & """," .Write """" & records.Greeting & """," .Write """" & records.FirstName & """," .Write """" & records.MI & """," .Write """" & records.LastName & """," .Write """" & records.Suffix & """," .Write """" & records.FullName & """," .Write """" & records.Company & """," .Write """" & records.Title & """," .Write """" & records.Address1 & """," .Write """" & records.Address2 & """," .Write """" & records.City & """," .Write """" & records.State & """," .Write """" & records.Zip & """," .Write """" & records.UserDefined1 & """," .Write """" & records.UserDefined2 & """," .Write """" & records.UserDefined3 & """," .Write """" & records.UserDefinedIdentifier4 & """," .Write """" & records.UserDefinedIdentifier5 & """," .Write """" & records.SeedIndicator & """," .Write """" & records.InductionPoint & """," .Write """" & records.InductionDate & """," .Write """" & records.InBoundIMB & """," .Write """" & records.IMCB & """," .Write """" & records.IMTB & """" & vbCRLF Wend End With End If End Sub Public Sub Edit dim id : id = Request.QueryString("Id") set Model = new Edit_ViewModel_Class set Model.Kit = KitRepository.FindByID(id) Model.Title = "Edit Kit" HTMLSecurity.SetAntiCSRFToken "KitEditForm" %> <% Flash.Success = "Kit Updated." End Sub Public Sub EditPost MVC.RequirePost HTMLSecurity.OnInvalidAntiCsrfTokenRedirectToActionExt "KitEditForm", Request.Form("nonce"), "Edit", Array("Id", Request.Form("Id")) dim ID : ID = Request.Form("Id") dim model : set model = KitRepository.FindByID(ID) set model = Automapper.AutoMap(Request.Form, model) 'model.Validate 'If model.Validator.HasErrors then FormCache.SerializeForm "EditKit", Request.Form ' Flash.Errors = model.Validator.Errors ' MVC.RedirectToActionExt "Edit", Array("Id",ID) 'Else KitRepository.Update model FormCache.ClearForm "EditKit" Flash.Success = "Kit updated." MVC.RedirectToAction "Index" 'End If End Sub Public Sub CreateTrackingKit dim form_params : set form_params = FormCache.DeserializeForm("NewKit") dim ID : ID = Request.QueryString("Id") dim model : set model = new Create_ViewModel_Class model.Title = "Create Kit " model.JCode = ID dim ugh : set ugh = JurisdictionRepository.Find(Array("[JCode] = ?",ID),empty) set model.Jurisdiction = ugh.pop() 'If Not form_params Is Nothing then ' set Model = Automapper.AutoMap(form_params, New Create_ViewModel_Class) 'Else ' set Model = new Create_ViewModel_Class 'End If HTMLSecurity.SetAntiCSRFToken "KitCreateForm" %> <% End Sub Public Sub Create dim form_params : set form_params = FormCache.DeserializeForm("NewKit") dim ID : ID = Request.QueryString("Id") dim model : set model = new Create_ViewModel_Class model.Title = "Create Kit " model.JCode = ID dim ugh : set ugh = JurisdictionRepository.Find(Array("[JCode] = ?",ID),empty) set model.Jurisdiction = ugh.pop() 'If Not form_params Is Nothing then ' set Model = Automapper.AutoMap(form_params, New Create_ViewModel_Class) 'Else ' set Model = new Create_ViewModel_Class 'End If HTMLSecurity.SetAntiCSRFToken "KitCreateForm" %> <% End Sub Public Sub CreatePost MVC.RequirePost HtmlSecurity.OnInvalidAntiCSRFTokenRedirectToAction "KitCreateForm", Request.Form("nonce"), "Create" dim new_Kit_model : set new_Kit_model = Automapper.AutoMap(Request.Form, new KitModel_Class) 'new_Kit_model.Validator.Validate 'If new_Kit_model.Validator.HasErrors then ' FormCache.SerializeForm "NewKit", Request.Form ' Flash.Errors = new_Kit_model.Validator.Errors ' MVC.RedirectToAction "Create" 'Else KitRepository.AddNew new_Kit_model KitLabelsRepository.BulkAdd new_Kit_model.ID,Request.Form("Amount") ' FormCache.ClearForm "NewKit" ExportTrackingLabels(new_Kit_model.ID) ExportSnailWorksTracking(new_Kit_model.ID) Flash.Success = "Kit added." MVC.RedirectToAction "Index" 'End If End Sub Public Sub CreateTrackingKitPost MVC.RequirePost HtmlSecurity.OnInvalidAntiCSRFTokenRedirectToAction "KitCreateForm", Request.Form("nonce"), "Create" dim new_Kit_model : set new_Kit_model = Automapper.AutoMap(Request.Form, new KitModel_Class) 'new_Kit_model.Validator.Validate 'If new_Kit_model.Validator.HasErrors then ' FormCache.SerializeForm "NewKit", Request.Form ' Flash.Errors = new_Kit_model.Validator.Errors ' MVC.RedirectToAction "Create" 'Else KitRepository.AddNew new_Kit_model KitLabelsRepository.BulkAdd new_Kit_model.ID,Request.Form("Amount") ' FormCache.ClearForm "NewKit" Flash.Success = "Kit added." MVC.RedirectToAction "Index" 'End If End Sub Public Sub Delete dim id : id = Request.QueryString("Id") set Model = new Delete_ViewModel_Class set Model.Kit = KitRepository.FindByID(id) Model.Title = "Delete Kit" HTMLSecurity.SetAntiCSRFToken "KitDeleteForm" %> <% End Sub Public Sub DeletePost MVC.RequirePost HtmlSecurity.OnInvalidAntiCSRFTokenRedirectToAction "KitDeleteForm", Request.Form("nonce"), "Create" dim id : id = Request.Form("Id") KitRepository.Delete id Flash.Success = "Kit deleted." MVC.RedirectToAction "Index" End Sub End Class MVC.Dispatch %>