<% '======================================================================================================================= ' 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 Private Sub Class_Initialize 'ValidateExitsts Me, "","" Class_Get_Properties = Array("ID, KitId, OutboundSerial, InBoundSerial, OutboundIMB, InBoundIMB, OutboundIMBDigits, InBoundIMBDigits") 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] 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] 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] 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] 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 AddNew(ByRef model) dim sql : sql = "INSERT INTO [KitLabels] (" &_ "[KitId]," &_ "[OutboundSerial]," &_ "[InBoundSerial]," &_ "[OutboundIMB]," &_ "[InBoundIMB]," &_ "[OutboundIMBDigits]," &_ "[InBoundIMBDigits])" &_ "VALUES (?,?,?,?,?,?,?)" DAL.Execute sql, Array(model.KitId, _ model.OutboundSerial, _ model.InBoundSerial, _ model.OutboundIMB, _ model.InBoundIMB, _ model.OutboundIMBDigits, _ model.InBoundIMBDigits) 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] = ?" &_ " WHERE [ID] = ?" DAL.Execute sql, Array(model.KitId, _ model.OutboundSerial, _ model.InBoundSerial, _ model.OutboundIMB, _ model.InBoundIMB, _ model.OutboundIMBDigits, _ model.InBoundIMBDigits, _ 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 %>