|
- <%
- '=======================================================================================================================
- ' Jurisdiction Model
- '=======================================================================================================================
-
- Class JurisdictionModel_Class
- Public Validator
- Public Class_Get_Properties
-
- Public JCode '106
- Public Name '106
- Public Mailing_Address '106
- Public CSZ '106
- Public IMB '106
- Public IMB_Digits '106
-
- Private Sub Class_Initialize
- 'ValidateExitsts Me, "",""
- Class_Get_Properties = Array("JCode, Name, Mailing_Address, CSZ, IMB, IMB_Digits")
- End Sub
-
- End CLass
-
- '=======================================================================================================================
- ' Jurisdiction Repository
- '=======================================================================================================================
-
- Class JurisdictionRepository_Class
-
- Public Function FindByJCode(JCode)
- dim sql : sql = "Select [JCode], [Name], [Mailing_Address], [CSZ], [IMB], [IMB_Digits] FROM [Jurisdiction] WHERE JCode = ?"
- dim rs : set rs = DAL.Query(sql,JCode)
- If rs.EOF then
- Err.Raise 1, "JurisdictionRepository_Class", JurisdictionNotFoundException("JCode", JCode)
- Else
- set FindByJCode = Automapper.AutoMap(rs,"JurisdictionModel_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 [JCode], [Name], [Mailing_Address], [CSZ], [IMB], [IMB_Digits] FROM [Jurisdiction]"
-
- 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 = JurisdictionList(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 [JCode], [Name], [Mailing_Address], [CSZ], [IMB], [IMB_Digits] FROM [Jurisdiction]"
-
- 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 = PagedJurisdictionList(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 [JCode], [Name], [Mailing_Address], [CSZ], [IMB], [IMB_Digits] FROM [Jurisdiction]"
-
- 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 = PagedJurisdictionList(rs, per_page)
- Destroy rs
- End Function
-
- Private Function PagedJurisdictionList(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 JurisdictionModel_Class)
- x = x +1
- rs.MoveNext
- Loop
- set PagedJurisdictionList = list
- End Function
-
- Private Function JurisdictionNotFoundException(ByVal field_name, ByVal field_val)
- JurisdictionNotFoundException = "Jurisdiction was not found with " & field_name & " of '" & field_val & "'."
- End Function
-
- Private Function JurisdictionList(rs)
- dim list : set list = new LinkedList_Class
- dim model
-
- Do until rs.EOF
- set model = new JurisdictionModel_Class
- list.Push Automapper.AutoMap(rs, model)
- rs.MoveNext
- Loop
- set JurisdictionList = list
- End Function
-
- Public Sub AddNew(ByRef model)
- dim sql : sql = "INSERT INTO [Jurisdiction] (" &_
- "[Name]," &_
- "[Mailing_Address]," &_
- "[CSZ]," &_
- "[IMB]," &_
- "[IMB_Digits])" &_
- "VALUES (?,?,?,?,?)"
- DAL.Execute sql, Array(model.Name, _
- model.Mailing_Address, _
- model.CSZ, _
- model.IMB, _
- model.IMB_Digits)
- sql = "SELECT TOP 1 JCode FROM [Jurisdiction] ORDER BY JCode DESC"
- dim rs : set rs = DAL.Query(sql, empty)
- model.JCode = rs("JCode")
- Destroy rs
- End Sub
-
- Public Sub Update(model)
- dim sql : sql = "UPDATE [Jurisdiction] SET [Name] = ?," &_
- "[Mailing_Address] = ?," &_
- "[CSZ] = ?," &_
- "[IMB] = ?," &_
- "[IMB_Digits] = ?" &_
- " WHERE [JCode] = ?"
-
- DAL.Execute sql, Array(model.Name, _
- model.Mailing_Address, _
- model.CSZ, _
- model.IMB, _
- model.IMB_Digits, _
- model.JCode)
- End Sub
-
- Public Sub Delete(id)
- dim sql : sql = "DELETE FROM [Jurisdiction] WHERE [JCode] = ?"
- DAL.Execute sql, id
- End Sub
- End Class
-
- dim JurisdictionRepository__Singleton
- Function JurisdictionRepository()
- If IsEmpty(JurisdictionRepository__Singleton) then
- set JurisdictionRepository__Singleton = new JurisdictionRepository_Class
- End If
- set JurisdictionRepository = JurisdictionRepository__Singleton
- End Function
- %>
|