Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 21st, 2010  |  syntax: VB.NET  |  size: 3.17 KB  |  hits: 133  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Imports SqlToolBox
  2. Imports System.Data.SqlClient
  3.  
  4. Public Class RSSFEEDS
  5.  
  6. #Region "Private Local Fields"
  7.     Private _RSSID As Integer
  8.     Private _URL As String
  9.     Private _Name As String
  10.     Private _isNew As Boolean
  11. #End Region
  12.  
  13. #Region "Constructors"
  14.     Public Sub New()
  15.         Me._isNew = True
  16.     End Sub
  17.  
  18.     Public Sub New(ByVal iRSSID)
  19.         Me._RSSID = iRSSID
  20.         load()
  21.         Me._isNew = False
  22.     End Sub
  23. #End Region
  24.  
  25. #Region "Private Methods"
  26.     Private Sub load()
  27.         Dim d As Database = New Database()
  28.         Dim dataReader As SqlDataReader = Nothing
  29.         Dim prams() As SqlParameter = New SqlParameter() {d.MakeInParam("@p_rssid", SqlDbType.Int, 4, Me._RSSID)}
  30.  
  31.         Try
  32.             d.RunProc("sps_rssfeeds_getbyid", prams, dataReader)
  33.         Catch ex As Exception
  34.             ' Database threw an error, bubble it up.
  35.             dataReader.Close()
  36.             Throw New Exception(ex.ToString(), ex)
  37.         End Try
  38.  
  39.         ' Check to see if sp returned a record.
  40.         If (dataReader.Read()) Then
  41.             setProperties(dataReader)
  42.             dataReader.Close()
  43.         Else
  44.             ' No record was returned by the sp.
  45.             dataReader.Close()
  46.             Throw New Exception("RSS Feed not Found.")
  47.         End If
  48.     End Sub
  49.  
  50.     Private Sub setProperties(ByVal dataReader As SqlDataReader)
  51.         Me._RSSID = Convert.ToInt32(dataReader.GetInt32(dataReader.GetOrdinal("RSSID")))
  52.         Me._URL = Convert.ToString(dataReader.GetString(dataReader.GetOrdinal("URL")))
  53.         Me._Name = Convert.ToString(dataReader.GetString(dataReader.GetOrdinal("Name")))
  54.     End Sub
  55.  
  56. #End Region
  57.  
  58. #Region "Public Methods"
  59.  
  60.     Public Sub Save()
  61.         If Me._isNew Then
  62.             Insert()
  63.         Else
  64.             Update()
  65.         End If
  66.     End Sub
  67.  
  68.     Public Sub Insert()
  69.         Dim data As Database = New Database()
  70.         Dim prams() As SqlParameter = New SqlParameter() { _
  71.             data.MakeOutParam("@p_rssid", SqlDbType.Int, 4), _
  72.             data.MakeInParam("@p_url", SqlDbType.VarChar, 1024, Me._URL), _
  73.             data.MakeInParam("@p_name", SqlDbType.VarChar, 50, Me._Name) _
  74.         }
  75.  
  76.         Try
  77.             data.RunProc("sps_rssfeeds_insert", prams)
  78.             Dim o As Object = prams(0).Value
  79.             Me._RSSID = CType(o, Integer)
  80.             Me._isNew = False
  81.         Catch ex As Exception
  82.             Throw New Exception(ex.ToString(), ex)
  83.         End Try
  84.     End Sub
  85.  
  86.     Public Sub Update()
  87.  
  88.     End Sub
  89.  
  90. #End Region
  91.  
  92. #Region "Public Properties"
  93.  
  94.     Public Property RSSID() As String
  95.         Get
  96.             Return Me._RSSID
  97.         End Get
  98.         Set(ByVal value As String)
  99.             Me._RSSID = value
  100.         End Set
  101.     End Property
  102.  
  103.     Public Property URL() As String
  104.         Get
  105.             Return Me._URL
  106.         End Get
  107.         Set(ByVal value As String)
  108.             Me._URL = value
  109.         End Set
  110.     End Property
  111.  
  112.     Public Property Name() As String
  113.         Get
  114.             Return Me._Name
  115.         End Get
  116.         Set(ByVal value As String)
  117.             Me._Name = value
  118.         End Set
  119.     End Property
  120.  
  121. #End Region
  122.  
  123. End Class