25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

91 satır
3.2KB

  1. <%
  2. Class boards_Repository_Class
  3. Public Function FindByID(id)
  4. Dim sql : sql = "SELECT [id],[name],[slug],[created_at],[created_by],[updated_at],[updated_by] FROM [boards] WHERE [id] = ?"
  5. Dim rs : Set rs = DAL.Query(sql, Array(id))
  6. If rs.EOF Then
  7. Err.Raise 1, "boards_Repository_Class", "Board not found with id = " & id
  8. Else
  9. Set FindByID = Automapper.AutoMap(rs, "POBO_boards")
  10. End If
  11. Destroy rs
  12. End Function
  13. Public Function FindBySlug(slug)
  14. Dim sql : sql = "SELECT [id],[name],[slug],[created_at],[created_by],[updated_at],[updated_by] FROM [boards] WHERE [slug] = ?"
  15. Dim rs : Set rs = DAL.Query(sql, Array(slug))
  16. If rs.EOF Then
  17. Set FindBySlug = Nothing
  18. Else
  19. Set FindBySlug = Automapper.AutoMap(rs, "POBO_boards")
  20. End If
  21. Destroy rs
  22. End Function
  23. Public Function GetAll()
  24. Dim sql : sql = "SELECT [id],[name],[slug],[created_at],[created_by],[updated_at],[updated_by] FROM [boards] ORDER BY [name] ASC"
  25. Dim rs : Set rs = DAL.Query(sql, Empty)
  26. Dim list : Set list = New LinkedList_Class
  27. Do Until rs.EOF
  28. list.Push Automapper.AutoMap(rs, "POBO_boards")
  29. rs.MoveNext
  30. Loop
  31. Set GetAll = list
  32. Destroy rs
  33. End Function
  34. Public Function SlugExists(slug, excludeId)
  35. Dim sql, rs
  36. If CLng(excludeId) > 0 Then
  37. sql = "SELECT COUNT(*) FROM [boards] WHERE [slug] = ? AND [id] <> ?"
  38. Set rs = DAL.Query(sql, Array(slug, excludeId))
  39. Else
  40. sql = "SELECT COUNT(*) FROM [boards] WHERE [slug] = ?"
  41. Set rs = DAL.Query(sql, Array(slug))
  42. End If
  43. SlugExists = (rs(0) > 0)
  44. Destroy rs
  45. End Function
  46. Public Function UniqueSlug(baseSlug, excludeId)
  47. Dim candidate, suffix
  48. candidate = baseSlug
  49. suffix = 2
  50. Do While SlugExists(candidate, excludeId)
  51. candidate = baseSlug & "-" & suffix
  52. suffix = suffix + 1
  53. Loop
  54. UniqueSlug = candidate
  55. End Function
  56. Public Sub AddNew(ByRef model)
  57. Dim sql : sql = "INSERT INTO [boards] ([name],[slug],[created_at],[created_by],[updated_at],[updated_by]) VALUES (?,?,?,?,?,?)"
  58. DAL.Execute sql, Array(model.name, model.slug, model.created_at, model.created_by, model.updated_at, model.updated_by)
  59. Dim rsId : Set rsId = DAL.Query("SELECT @@IDENTITY AS NewID", Empty)
  60. If Not rsId.EOF Then
  61. If Not IsNull(rsId(0)) Then model.id = rsId(0)
  62. End If
  63. Destroy rsId
  64. End Sub
  65. Public Sub Update(model)
  66. Dim sql : sql = "UPDATE [boards] SET [name]=?,[slug]=?,[updated_at]=?,[updated_by]=? WHERE [id]=?"
  67. DAL.Execute sql, Array(model.name, model.slug, model.updated_at, model.updated_by, model.id)
  68. End Sub
  69. Public Sub Delete(id)
  70. DAL.Execute "DELETE FROM [boards] WHERE [id]=?", Array(id)
  71. End Sub
  72. End Class
  73. Dim boards_Repository__Singleton
  74. Function boards_Repository()
  75. If IsEmpty(boards_Repository__Singleton) Then
  76. Set boards_Repository__Singleton = New boards_Repository_Class
  77. End If
  78. Set boards_Repository = boards_Repository__Singleton
  79. End Function
  80. %>

Powered by TurnKey Linux.