<% Class swim_lanes_Repository_Class Public Function FindByID(id) Dim sql : sql = "SELECT [id],[board_id],[name],[position],[created_at],[created_by],[updated_at],[updated_by] FROM [swim_lanes] WHERE [id] = ?" Dim rs : Set rs = DAL.Query(sql, Array(id)) If rs.EOF Then Err.Raise 1, "swim_lanes_Repository_Class", "Swim lane not found with id = " & id Else Set FindByID = Automapper.AutoMap(rs, "POBO_swim_lanes") End If Destroy rs End Function Public Function FindByBoardId(boardId) Dim sql : sql = "SELECT [id],[board_id],[name],[position],[created_at],[created_by],[updated_at],[updated_by] FROM [swim_lanes] WHERE [board_id] = ? ORDER BY [position] ASC" Dim rs : Set rs = DAL.Query(sql, Array(boardId)) Dim list : Set list = New LinkedList_Class Do Until rs.EOF list.Push Automapper.AutoMap(rs, "POBO_swim_lanes") rs.MoveNext Loop Set FindByBoardId = list Destroy rs End Function Public Function MaxPosition(boardId) Dim sql : sql = "SELECT MAX([position]) FROM [swim_lanes] WHERE [board_id] = ?" Dim rs : Set rs = DAL.Query(sql, Array(boardId)) If rs.EOF Or IsNull(rs(0)) Then MaxPosition = -1 Else MaxPosition = CLng(rs(0)) End If Destroy rs End Function Public Sub AddNew(ByRef model) Dim sql : sql = "INSERT INTO [swim_lanes] ([board_id],[name],[position],[created_at],[created_by],[updated_at],[updated_by]) VALUES (?,?,?,?,?,?,?)" DAL.Execute sql, Array(model.board_id, model.name, model.position, model.created_at, model.created_by, model.updated_at, model.updated_by) Dim rsId : Set rsId = DAL.Query("SELECT @@IDENTITY AS NewID", Empty) If Not rsId.EOF Then If Not IsNull(rsId(0)) Then model.id = rsId(0) End If Destroy rsId End Sub Public Sub Update(model) Dim sql : sql = "UPDATE [swim_lanes] SET [name]=?,[position]=?,[updated_at]=?,[updated_by]=? WHERE [id]=?" DAL.Execute sql, Array(model.name, model.position, model.updated_at, model.updated_by, model.id) End Sub Public Sub UpdatePosition(id, position, updatedAt, updatedBy) Dim sql : sql = "UPDATE [swim_lanes] SET [position]=?,[updated_at]=?,[updated_by]=? WHERE [id]=?" DAL.Execute sql, Array(position, updatedAt, updatedBy, id) End Sub Public Sub Delete(id) DAL.Execute "DELETE FROM [swim_lanes] WHERE [id]=?", Array(id) End Sub Public Sub DeleteByBoardId(boardId) DAL.Execute "DELETE FROM [swim_lanes] WHERE [board_id]=?", Array(boardId) End Sub End Class Dim swim_lanes_Repository__Singleton Function swim_lanes_Repository() If IsEmpty(swim_lanes_Repository__Singleton) Then Set swim_lanes_Repository__Singleton = New swim_lanes_Repository_Class End If Set swim_lanes_Repository = swim_lanes_Repository__Singleton End Function %>