|
- <%
- '=======================================================================================================================
- ' KitLabels Model
- '=======================================================================================================================
-
- Class KitLabelsModel_Class
- Public Validator
- Public Class_Get_Properties
-
- Public ID '90
- Public KitId '122
- Public OutboundSerial '106
- Public InBoundSerial '106
- Public OutboundIMB '106
- Public InBoundIMB '106
- Public OutboundIMBDigits '106
- Public InBoundIMBDigits '106
- Public OutboundIMBPNG
- Public INBOUNDIMBPNG
- Public SetNumber
- Private Sub Class_Initialize
- 'ValidateExitsts Me, "",""
- Class_Get_Properties = Array("ID, KitId, OutboundSerial, InBoundSerial, OutboundIMB, InBoundIMB, OutboundIMBDigits, InBoundIMBDigits,OutboundIMBPNG,INBOUNDIMBPNG,SetNumber")
- End Sub
-
- End CLass
-
- '=======================================================================================================================
- ' KitLabels Repository
- '=======================================================================================================================
-
- Class KitLabelsRepository_Class
-
- Public Function FindByID(ID)
- dim sql : sql = "Select [ID], [KitId], [OutboundSerial], [InBoundSerial], [OutboundIMB], [InBoundIMB], [OutboundIMBDigits], [InBoundIMBDigits],OutboundIMBPNG,INBOUNDIMBPNG,[SetNumber] FROM [KitLabels] WHERE ID = ?"
- dim rs : set rs = DAL.Query(sql,ID)
- If rs.EOF then
- Err.Raise 1, "KitLabelsRepository_Class", KitLabelsNotFoundException("ID", ID)
- Else
- set FindByID = Automapper.AutoMap(rs,"KitLabelsModel_Class")
- End If
- End Function
-
- Public Function GetAll(orderBy)
- set GetAll = Find(empty,orderBy)
- End Function
-
- Public Function Find(where_kvarray, order_string_or_array)
- dim sql : sql = "Select [ID], [KitId], [OutboundSerial], [InBoundSerial], [OutboundIMB], [InBoundIMB], [OutboundIMBDigits], [InBoundIMBDigits],OutboundIMBPNG,INBOUNDIMBPNG, [SetNumber] FROM [KitLabels]"
-
- If Not IsEmpty(where_kvarray) then
- sql = sql & " WHERE "
- dim where_keys, where_values
- KVUnzip where_kvarray, where_keys, where_values
-
- dim i
- For i = 0 to UBound(where_keys)
- If i > 0 then sql = sql & " AND "
- sql = sql & " " & where_keys(i) & " "
- Next
- End If
-
- If Not IsEmpty(order_string_or_array) then
- sql = sql & "ORDER BY "
- If IsArray(order_string_or_array) then
- dim order_array : order_array = order_string_or_array
- For i = 0 to UBound(order_array)
- If i > 0 then sql = sql & ", "
- sql = sql & " " & order_array(i)
- Next
- Else
- sql = sql & order_string_or_array & " "
- End If
- End If
-
- dim rs : set rs = DAL.Query(sql, where_values)
- set Find = KitLabelsList(rs)
- Destroy rs
- End Function
-
- Public Function FindPaged(where_kvarray, order_string_or_array, per_page, page_num, ByRef page_count, ByRef record_count)
- dim sql : sql = "Select [ID], [KitId], [OutboundSerial], [InBoundSerial], [OutboundIMB], [InBoundIMB], [OutboundIMBDigits], [InBoundIMBDigits],OutboundIMBPNG,INBOUNDIMBPNG, [SetNumber] FROM [KitLabels]"
-
- If Not IsEmpty(where_kvarray) then
- sql = sql & " WHERE "
- dim where_keys, where_values
- KVUnzip where_kvarray, where_keys, where_values
-
- dim i
- For i = 0 to UBound(where_keys)
- If i > 0 then sql = sql & " AND "
- sql = sql & " " & where_keys(i) & " "
- Next
- End If
-
- If Not IsEmpty(order_string_or_array) then
- sql = sql & "ORDER BY "
- If IsArray(order_string_or_array) then
- dim order_array : order_array = order_string_or_array
- For i = 0 to UBound(order_array)
- If i > 0 then sql = sql & ", "
- sql = sql & " " & order_array(i)
- Next
- Else
- sql = sql & order_string_or_array & " "
- End If
- End If
-
- dim list : set list = new LinkedList_Class
- dim rs : set rs = DAL.PagedQuery(sql, where_values, per_page, page_num)
-
- If Not rs.EOF and Not (IsEmpty(per_page) and IsEmpty(page_num) and IsEmpty(page_count) and IsEmpty(record_count)) then
- rs.PageSize = per_page
- rs.AbsolutePage = page_num
- page_count = rs.PageCount
- record_count = rs.RecordCount
- End If
-
- set FindPaged = PagedKitLabelsList(rs, per_page)
- Destroy rs
- End Function
-
- Public Function SearchTablePaged(where_kvarray, order_string_or_array, per_page, page_num, ByRef page_count, ByRef record_count)
- dim sql : sql = "Select [ID], [KitId], [OutboundSerial], [InBoundSerial], [OutboundIMB], [InBoundIMB], [OutboundIMBDigits], [InBoundIMBDigits],OutboundIMBPNG,INBOUNDIMBPNG, [SetNumber] FROM [KitLabels]"
-
- If Not IsEmpty(where_kvarray) then
- sql = sql & " WHERE "
- dim where_keys, where_values
- KVUnzip where_kvarray, where_keys, where_values
-
- dim i
- For i = 0 to UBound(where_keys)
- If i > 0 then sql = sql & " OR"
- sql = sql & " " & where_keys(i) & " LIKE ?"
- Next
- End If
-
- If Not IsEmpty(order_string_or_array) then
- sql = sql & " ORDER BY "
- If IsArray(order_string_or_array) then
- dim order_array : order_array = order_string_or_array
- For i = 0 to UBound(order_array)
- If i > 0 then sql = sql & ", "
- sql = sql & " " & order_array(i)
- Next
- Else
- sql = sql & order_string_or_array & " "
- End If
- End If
-
- dim list : set list = new LinkedList_Class
- dim rs : set rs = DAL.PagedQuery(sql, where_values, per_page, page_num)
-
- If Not rs.EOF and Not (IsEmpty(per_page) and IsEmpty(page_num) and IsEmpty(page_count) and IsEmpty(record_count)) then
- rs.PageSize = per_page
- rs.AbsolutePage = page_num
- page_count = rs.PageCount
- record_count = rs.RecordCount
- End If
-
- set SearchTablePaged = PagedKitLabelsList(rs, per_page)
- Destroy rs
- End Function
-
- Private Function PagedKitLabelsList(rs, per_page)
- dim list : set list = new LinkedList_Class
-
- dim x : x =0
- Do While x < per_page and Not rs.EOF
- list.Push Automapper.AutoMap(rs, new KitLabelsModel_Class)
- x = x +1
- rs.MoveNext
- Loop
- set PagedKitLabelsList = list
- End Function
-
- Private Function KitLabelsNotFoundException(ByVal field_name, ByVal field_val)
- KitLabelsNotFoundException = "KitLabels was not found with " & field_name & " of '" & field_val & "'."
- End Function
-
- Private Function KitLabelsList(rs)
- dim list : set list = new LinkedList_Class
- dim model
-
- Do until rs.EOF
- set model = new KitLabelsModel_Class
- list.Push Automapper.AutoMap(rs, model)
- rs.MoveNext
- Loop
- set KitLabelsList = list
- End Function
-
- Public Sub BulkAdd(KitId,Amount)
- Dim rest : Set rest = Server.CreateObject("Chilkat_9_5_0.Rest")
- Dim responseJson : responseJson = rest.Connect("https://postalpro.usps.com",443,1,1)
- Dim Kit : Set Kit = KitRepository.Find(Array("ID = ?",KitId),empty).pop()
- Dim Jurisdiction:Set Jurisdiction = JurisdictionRepository.Find(Array("JCode =?",Kit.Jcode),empty).pop
- Dim MailingID:MailingID = SettingsRepository.Find(Array("Name =?","MailingID"),empty).pop().Value
- Dim SerialNumberStart:SerialNumberStart = SettingsRepository.Find(Array("Name =?","SerialNumberStart"),empty).pop().Value
- Dim serialOffset:serialOffset = SettingsRepository.Find(Array("Name =?","SerialOffset"),empty).pop().Value
- Dim SerialStart:SerialStart = CLng(SerialNumberStart) + CLng(serialOffset)
- dim i,s
- s = 1
- for i = 0 to (Amount * 2) - 2 Step 2
- dim NewKitLabel : set NewKitLabel = new KitLabelsModel_Class
- NewKitLabel.KitId = KitId
- NewKitLabel.SetNumber = s
- s = s + 1
- NewKitLabel.OutboundSerial = PadLeft(SerialStart + i,9,"0")
- NewKitLabel.InBoundSerial = PadLeft(SerialStart + i + 1,9,"0")
- NewKitLabel.OutboundIMBDigits ="00716" & MailingID & NewKitLabel.OutboundSerial & "000000000"
- NewKitLabel.InBoundIMBDigits = "00778" & MailingID & NewKitLabel.InBoundSerial & right(Jurisdiction.IMB_Digits,9)
- dim imbJson : imbJson = rest.FullRequestNoBody("get","/ppro-tools-api/imb/encode?imb=" & NewKitLabel.OutboundIMBDigits)
-
- json.loadJSON(imbJson)
-
- NewKitLabel.OutboundIMB = json.Data("imb")
- NewKitLabel.OutboundIMBPNG = json.Data("imbImage")
- imbJson = rest.FullRequestNoBody("get","/ppro-tools-api/imb/encode?imb=" & NewKitLabel.InBoundIMBDigits )
- json.loadJSON(imbJson)
- NewKitLabel.InBoundIMB = json.Data("imb")
- NewKitLabel.INBOUNDIMBPNG = json.Data("imbImage")
- me.AddNew NewKitLabel
- Next
-
- DAL.Execute "UPDATE Settings SET [Value] ='" & (Amount * 2) + serialOffset & "' Where [Name] ='SerialOffset'",empty
-
-
-
-
-
- End Sub
-
- Public Sub AddNew(ByRef model)
- dim sql : sql = "INSERT INTO [KitLabels] (" &_
- "[KitId]," &_
- "[OutboundSerial]," &_
- "[InBoundSerial]," &_
- "[OutboundIMB]," &_
- "[InBoundIMB]," &_
- "[OutboundIMBDigits]," &_
- "[InBoundIMBDigits]," &_
- "[OutboundIMBPNG]," &_
- "[INBOUNDIMBPNG]," &_
- "[SetNumber])" &_
- "VALUES (?,?,?,?,?,?,?,?,?,?)"
- DAL.Execute sql, Array(model.KitId, _
- model.OutboundSerial, _
- model.InBoundSerial, _
- model.OutboundIMB, _
- model.InBoundIMB, _
- model.OutboundIMBDigits, _
- model.InBoundIMBDigits, _
- model.OutboundIMBPNG, _
- model.INBOUNDIMBPNG, _
- model.SetNumber)
- sql = "SELECT TOP 1 ID FROM [KitLabels] ORDER BY ID DESC"
- dim rs : set rs = DAL.Query(sql, empty)
- model.ID = rs("ID")
- Destroy rs
- End Sub
-
- Public Sub Update(model)
- dim sql : sql = "UPDATE [KitLabels] SET [KitId] = ?," &_
- "[OutboundSerial] = ?," &_
- "[InBoundSerial] = ?," &_
- "[OutboundIMB] = ?," &_
- "[InBoundIMB] = ?," &_
- "[OutboundIMBDigits] = ?," &_
- "[InBoundIMBDigits] = ?," &_
- "OutboundIMBPNG,INBOUNDIMBPNG,[SetNumber])" &_
- " WHERE [ID] = ?"
-
- DAL.Execute sql, Array(model.KitId, _
- model.OutboundSerial, _
- model.InBoundSerial, _
- model.OutboundIMB, _
- model.InBoundIMB, _
- model.OutboundIMBDigits, _
- model.InBoundIMBDigits, _
- model.OutboundIMBPNG, _
- model.INBOUNDIMBPNG, _
- model.SetNumber, _
- model.ID)
- End Sub
-
- Public Sub Delete(id)
- dim sql : sql = "DELETE FROM [KitLabels] WHERE [ID] = ?"
- DAL.Execute sql, id
- End Sub
- End Class
-
- dim KitLabelsRepository__Singleton
- Function KitLabelsRepository()
- If IsEmpty(KitLabelsRepository__Singleton) then
- set KitLabelsRepository__Singleton = new KitLabelsRepository_Class
- End If
- set KitLabelsRepository = KitLabelsRepository__Singleton
- End Function
- %>
|