|
- <%
- '=======================================================================================================================
- ' Contacts Model
- '=======================================================================================================================
-
- Class ContactsModel_Class
- Public Validator
- Public Class_Get_Properties
-
- Public ID '90
- Public JURISCODE '106
- Public TownshipName '106
- Public CONTACT_NAME '106
- Public TownshipNum '106
- Public BUSINESS_ADDRESS '106
- Public TITLE '106
- Public BUSINESS_ADDRESS2 '106
- Public BUSINESS_ADDRESS3 '106
- Public MAILING_ADDRESS '106
- Public MAILING_ADDRESS2 '106
- Public MAILING_ADDRESS3 '106
- Public RESIDENTIAL_ADDRESS '106
- Public RESIDENTIAL_ADDRESS2 '106
- Public PHONENUM1 '106
- Public RESIDENTIAL_ADDRESS3 '106
- Public FAXNUM '122
- Public PHONENUM2 '106
- Public EMAIL '106
-
- Private Sub Class_Initialize
- 'ValidateExitsts Me, "",""
- Class_Get_Properties = Array("ID, JURISCODE, TownshipName, CONTACT_NAME, TownshipNum, BUSINESS_ADDRESS, TITLE, BUSINESS_ADDRESS2, BUSINESS_ADDRESS3, MAILING_ADDRESS, MAILING_ADDRESS2, MAILING_ADDRESS3, RESIDENTIAL_ADDRESS, RESIDENTIAL_ADDRESS2, PHONENUM1, RESIDENTIAL_ADDRESS3, FAXNUM, PHONENUM2, EMAIL")
- End Sub
-
- End CLass
-
- '=======================================================================================================================
- ' Contacts Repository
- '=======================================================================================================================
-
- Class ContactsRepository_Class
-
- Public Function FindByID(ID)
- dim sql : sql = "Select [ID], [JURISCODE], [TownshipName], [CONTACT_NAME], [TownshipNum], [BUSINESS_ADDRESS], [TITLE], [BUSINESS_ADDRESS2], [BUSINESS_ADDRESS3], [MAILING_ADDRESS], [MAILING_ADDRESS2], [MAILING_ADDRESS3], [RESIDENTIAL_ADDRESS], [RESIDENTIAL_ADDRESS2], [PHONENUM1], [RESIDENTIAL_ADDRESS3], [FAXNUM], [PHONENUM2], [EMAIL] FROM [Contacts] WHERE ID = ?"
- dim rs : set rs = DAL.Query(sql,ID)
- If rs.EOF then
- Err.Raise 1, "ContactsRepository_Class", ContactsNotFoundException("ID", ID)
- Else
- set FindByID = Automapper.AutoMap(rs,"ContactsModel_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], [JURISCODE], [TownshipName], [CONTACT_NAME], [TownshipNum], [BUSINESS_ADDRESS], [TITLE], [BUSINESS_ADDRESS2], [BUSINESS_ADDRESS3], [MAILING_ADDRESS], [MAILING_ADDRESS2], [MAILING_ADDRESS3], [RESIDENTIAL_ADDRESS], [RESIDENTIAL_ADDRESS2], [PHONENUM1], [RESIDENTIAL_ADDRESS3], [FAXNUM], [PHONENUM2], [EMAIL] FROM [Contacts]"
-
- 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 = ContactsList(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], [JURISCODE], [TownshipName], [CONTACT_NAME], [TownshipNum], [BUSINESS_ADDRESS], [TITLE], [BUSINESS_ADDRESS2], [BUSINESS_ADDRESS3], [MAILING_ADDRESS], [MAILING_ADDRESS2], [MAILING_ADDRESS3], [RESIDENTIAL_ADDRESS], [RESIDENTIAL_ADDRESS2], [PHONENUM1], [RESIDENTIAL_ADDRESS3], [FAXNUM], [PHONENUM2], [EMAIL] FROM [Contacts]"
-
- 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 = PagedContactsList(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], [JURISCODE], [TownshipName], [CONTACT_NAME], [TownshipNum], [BUSINESS_ADDRESS], [TITLE], [BUSINESS_ADDRESS2], [BUSINESS_ADDRESS3], [MAILING_ADDRESS], [MAILING_ADDRESS2], [MAILING_ADDRESS3], [RESIDENTIAL_ADDRESS], [RESIDENTIAL_ADDRESS2], [PHONENUM1], [RESIDENTIAL_ADDRESS3], [FAXNUM], [PHONENUM2], [EMAIL] FROM [Contacts]"
-
- 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 = PagedContactsList(rs, per_page)
- Destroy rs
- End Function
-
- Private Function PagedContactsList(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 ContactsModel_Class)
- x = x +1
- rs.MoveNext
- Loop
- set PagedContactsList = list
- End Function
-
- Private Function ContactsNotFoundException(ByVal field_name, ByVal field_val)
- ContactsNotFoundException = "Contacts was not found with " & field_name & " of '" & field_val & "'."
- End Function
-
- Private Function ContactsList(rs)
- dim list : set list = new LinkedList_Class
- dim model
-
- Do until rs.EOF
- set model = new ContactsModel_Class
- list.Push Automapper.AutoMap(rs, model)
- rs.MoveNext
- Loop
- set ContactsList = list
- End Function
-
- Public Sub AddNew(ByRef model)
- dim sql : sql = "INSERT INTO [Contacts] (" &_
- "[JURISCODE]," &_
- "[TownshipName]," &_
- "[CONTACT_NAME]," &_
- "[TownshipNum]," &_
- "[BUSINESS_ADDRESS]," &_
- "[TITLE]," &_
- "[BUSINESS_ADDRESS2]," &_
- "[BUSINESS_ADDRESS3]," &_
- "[MAILING_ADDRESS]," &_
- "[MAILING_ADDRESS2]," &_
- "[MAILING_ADDRESS3]," &_
- "[RESIDENTIAL_ADDRESS]," &_
- "[RESIDENTIAL_ADDRESS2]," &_
- "[PHONENUM1]," &_
- "[RESIDENTIAL_ADDRESS3]," &_
- "[FAXNUM]," &_
- "[PHONENUM2]," &_
- "[EMAIL])" &_
- "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"
- DAL.Execute sql, Array(model.JURISCODE, _
- model.TownshipName, _
- model.CONTACT_NAME, _
- model.TownshipNum, _
- model.BUSINESS_ADDRESS, _
- model.TITLE, _
- model.BUSINESS_ADDRESS2, _
- model.BUSINESS_ADDRESS3, _
- model.MAILING_ADDRESS, _
- model.MAILING_ADDRESS2, _
- model.MAILING_ADDRESS3, _
- model.RESIDENTIAL_ADDRESS, _
- model.RESIDENTIAL_ADDRESS2, _
- model.PHONENUM1, _
- model.RESIDENTIAL_ADDRESS3, _
- model.FAXNUM, _
- model.PHONENUM2, _
- model.EMAIL)
- sql = "SELECT TOP 1 ID FROM [Contacts] 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 [Contacts] SET [JURISCODE] = ?," &_
- "[TownshipName] = ?," &_
- "[CONTACT_NAME] = ?," &_
- "[TownshipNum] = ?," &_
- "[BUSINESS_ADDRESS] = ?," &_
- "[TITLE] = ?," &_
- "[BUSINESS_ADDRESS2] = ?," &_
- "[BUSINESS_ADDRESS3] = ?," &_
- "[MAILING_ADDRESS] = ?," &_
- "[MAILING_ADDRESS2] = ?," &_
- "[MAILING_ADDRESS3] = ?," &_
- "[RESIDENTIAL_ADDRESS] = ?," &_
- "[RESIDENTIAL_ADDRESS2] = ?," &_
- "[PHONENUM1] = ?," &_
- "[RESIDENTIAL_ADDRESS3] = ?," &_
- "[FAXNUM] = ?," &_
- "[PHONENUM2] = ?," &_
- "[EMAIL] = ?" &_
- " WHERE [ID] = ?"
-
- DAL.Execute sql, Array(model.JURISCODE, _
- model.TownshipName, _
- model.CONTACT_NAME, _
- model.TownshipNum, _
- model.BUSINESS_ADDRESS, _
- model.TITLE, _
- model.BUSINESS_ADDRESS2, _
- model.BUSINESS_ADDRESS3, _
- model.MAILING_ADDRESS, _
- model.MAILING_ADDRESS2, _
- model.MAILING_ADDRESS3, _
- model.RESIDENTIAL_ADDRESS, _
- model.RESIDENTIAL_ADDRESS2, _
- model.PHONENUM1, _
- model.RESIDENTIAL_ADDRESS3, _
- model.FAXNUM, _
- model.PHONENUM2, _
- model.EMAIL, _
- model.ID)
- End Sub
-
- Public Sub Delete(id)
- dim sql : sql = "DELETE FROM [Contacts] WHERE [ID] = ?"
- DAL.Execute sql, id
- End Sub
- End Class
-
- dim ContactsRepository__Singleton
- Function ContactsRepository()
- If IsEmpty(ContactsRepository__Singleton) then
- set ContactsRepository__Singleton = new ContactsRepository_Class
- End If
- set ContactsRepository = ContactsRepository__Singleton
- End Function
- %>
|