home *** CD-ROM | disk | FTP | other *** search
/ 66.142.0.142 / 66.142.0.142.tar / 66.142.0.142 / App_Code / tblTypesinfo.vb < prev    next >
Text File  |  2010-08-24  |  21KB  |  706 lines

  1. Imports System.Data
  2. Imports System.Data.Common
  3. Imports System.Data.OleDb
  4.  
  5. '
  6. ' ASP.NET Maker 7 Project Class (Table)
  7. '
  8. Public Partial Class AspNetMaker7_tfpssnet
  9.     Inherits System.Web.UI.Page
  10.  
  11.     Public tblTypes As ctblTypes
  12.  
  13.     ' Define table class
  14.     Class ctblTypes
  15.         Inherits AspNetMakerBase
  16.         Implements IDisposable
  17.  
  18.         ' Used by system generated functions
  19.         Private RsWrk As Object, sSqlWrk As String, sWhereWrk As String
  20.  
  21.         Private arwrk As Object
  22.  
  23.         Private armultiwrk() As String
  24.  
  25.         ' Constructor
  26.         Public Sub New(ByRef APage As AspNetMakerPage)
  27.             m_Page = APage
  28.             m_ParentPage = APage.ParentPage            
  29.         End Sub
  30.  
  31.         ' Define table level constants    
  32.         Public UseTokenInUrl As Boolean = EW_USE_TOKEN_IN_URL
  33.  
  34.         ' Table variable
  35.         Public ReadOnly Property TableVar() As String
  36.             Get
  37.                 Return "tblTypes"
  38.             End Get
  39.         End Property
  40.  
  41.         ' Table name
  42.         Public ReadOnly Property TableName() As String
  43.             Get
  44.                 Return "tblTypes"
  45.             End Get
  46.         End Property
  47.  
  48.         ' Records per page        
  49.         Public Property RecordsPerPage() As Integer
  50.             Get                
  51.                 Return ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_REC_PER_PAGE)
  52.             End Get
  53.             Set(ByVal Value As Integer)                
  54.                 ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_REC_PER_PAGE) = Value
  55.             End Set
  56.         End Property
  57.  
  58.         ' Start record number        
  59.         Public Property StartRecordNumber() As Integer
  60.             Get                
  61.                 Return ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_START_REC)
  62.             End Get
  63.             Set(ByVal Value As Integer)                
  64.                 ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_START_REC) = Value
  65.             End Set
  66.         End Property
  67.  
  68.         ' Search Highlight Name
  69.         Public ReadOnly Property HighlightName() As String
  70.             Get
  71.                 Return "tblTypes_Highlight"
  72.             End Get
  73.         End Property
  74.  
  75.         ' Advanced search
  76.         Public Function GetAdvancedSearch(ByRef fld As Object) As String            
  77.             Return Convert.ToString(ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_ADVANCED_SEARCH & "_" & fld))
  78.         End Function
  79.  
  80.         Public Sub SetAdvancedSearch(ByRef fld As Object, v As Object)            
  81.             If ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_ADVANCED_SEARCH & "_" & fld) <> v Then
  82.                 ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_ADVANCED_SEARCH & "_" & fld) = v
  83.             End If
  84.         End Sub
  85.  
  86.         ' Basic search keyword        
  87.         Public Property BasicSearchKeyword() As String
  88.             Get                
  89.                 Return ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_BASIC_SEARCH)
  90.             End Get
  91.             Set(ByVal Value As String)                
  92.                 ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_BASIC_SEARCH) = Value
  93.             End Set
  94.         End Property
  95.  
  96.         ' Basic Search Type        
  97.         Public Property BasicSearchType() As String
  98.             Get
  99.                 Return ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_BASIC_SEARCH_TYPE)
  100.             End Get
  101.             Set(ByVal Value As String)
  102.                 ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_BASIC_SEARCH_TYPE) = Value
  103.             End Set
  104.         End Property
  105.  
  106.         ' Search WHERE clause        
  107.         Public Property SearchWhere() As String
  108.             Get
  109.                 Return ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_SEARCH_WHERE)
  110.             End Get
  111.             Set(ByVal Value As String)
  112.                 ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_SEARCH_WHERE) = Value
  113.             End Set
  114.         End Property
  115.  
  116.         ' Multiple column sort
  117.         Public Sub UpdateSort(ofld, ctrl)
  118.             Dim sSortField As String, sLastSort As String, sThisSort As String, sOrderBy As String
  119.             If CurrentOrder = ofld.FldName Then
  120.                 sSortField = ofld.FldExpression
  121.                 sLastSort = ofld.Sort
  122.                 If CurrentOrderType = "ASC" OrElse CurrentOrderType = "DESC" Then
  123.                     sThisSort = CurrentOrderType
  124.                 Else
  125.                     If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC"
  126.                 End If
  127.                 ofld.Sort = sThisSort
  128.                 If ctrl Then
  129.                     sOrderBy = SessionOrderBy
  130.                     If sOrderBy.Contains(sSortField & " " & sLastSort) Then
  131.                         sOrderBy = sOrderBy.Replace(sSortField & " " & sLastSort, sSortField & " " & sThisSort)
  132.                     Else
  133.                         If sOrderBy <> "" Then sOrderBy = sOrderBy & ", "
  134.                         sOrderBy = sOrderBy & sSortField & " " & sThisSort
  135.                     End If
  136.                     SessionOrderBy = sOrderBy ' Save to Session
  137.                 Else
  138.                     SessionOrderBy = sSortField & " " & sThisSort ' Save to Session
  139.                 End If
  140.             Else
  141.                 If Not ctrl Then ofld.Sort = ""
  142.             End If
  143.         End Sub
  144.  
  145.         ' Session WHERE Clause        
  146.         Public Property SessionWhere() As String
  147.             Get                
  148.                 Return ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_WHERE)
  149.             End Get
  150.             Set(ByVal Value As String)                
  151.                 ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_WHERE) = Value
  152.             End Set
  153.         End Property
  154.  
  155.         ' Session ORDER BY        
  156.         Public Property SessionOrderBy() As String
  157.             Get                
  158.                 Return ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_ORDER_BY)
  159.             End Get
  160.             Set(ByVal Value As String)                
  161.                 ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_ORDER_BY) = Value
  162.             End Set
  163.         End Property
  164.  
  165.         ' Session key
  166.         Public Function GetKey(ByRef fld As Object) As Object
  167.             Return ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_KEY & "_" & fld)
  168.         End Function
  169.  
  170.         Public Sub SetKey(ByRef fld As Object, ByRef v As Object)
  171.             ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_KEY & "_" & fld) = v
  172.         End Sub
  173.  
  174.         ' Table level SQL
  175.         Public ReadOnly Property SqlSelect() As String
  176.             Get ' Select
  177.                 Return "SELECT * FROM [tblTypes]"
  178.             End Get
  179.         End Property
  180.  
  181.         Public ReadOnly Property SqlWhere() As String
  182.             Get ' Where
  183.                 Return ""
  184.             End Get
  185.         End Property
  186.  
  187.         Public ReadOnly Property SqlGroupBy() As String
  188.             Get ' Group By
  189.                 Return ""
  190.             End Get
  191.         End Property
  192.  
  193.         Public ReadOnly Property SqlHaving() As String
  194.             Get ' Having
  195.                 Return ""
  196.             End Get
  197.         End Property
  198.  
  199.         Public ReadOnly Property SqlOrderBy() As String
  200.             Get ' Order By
  201.                 Return ""
  202.             End Get
  203.         End Property
  204.  
  205.         ' SQL variables
  206.         Public CurrentFilter As String ' Current filter
  207.  
  208.         Public CurrentOrder As String ' Current order
  209.  
  210.         Public CurrentOrderType As String ' Current order type
  211.  
  212.         ' Get SQL
  213.         Public Function GetSQL(where As String, orderby As String) As String
  214.             Return ew_BuildSelectSql(SqlSelect, SqlWhere, SqlGroupBy, SqlHaving, SqlOrderBy, where, orderby)
  215.         End Function
  216.  
  217.         ' Table SQL
  218.         Public ReadOnly Property SQL() As String
  219.             Get
  220.                 Dim sFilter As String, sSort As String
  221.                 sFilter = CurrentFilter
  222.                 sSort = SessionOrderBy
  223.                 Return ew_BuildSelectSql(SqlSelect, SqlWhere, SqlGroupBy, SqlHaving, SqlOrderBy, sFilter, sSort)
  224.             End Get
  225.         End Property
  226.  
  227.         ' Return table SQL with list page filter
  228.         Public ReadOnly Property ListSQL() As String
  229.             Get
  230.                 Dim sFilter As String, sSort As String
  231.                 sFilter = SessionWhere
  232.                 If CurrentFilter <> "" Then
  233.                     If sFilter <> "" Then
  234.                         sFilter = "(" & sFilter & ") AND (" & CurrentFilter & ")"
  235.                     Else
  236.                         sFilter = CurrentFilter
  237.                     End If
  238.                 End If
  239.                 sSort = SessionOrderBy
  240.                 Return ew_BuildSelectSql(SqlSelect, SqlWhere, SqlGroupBy, SqlHaving, SqlOrderBy, sFilter, sSort)
  241.             End Get
  242.         End Property
  243.  
  244.         ' Return SQL for record count
  245.         Public ReadOnly Property SelectCountSQL() As String
  246.             Get
  247.                 Dim sFilter As String = SessionWhere
  248.                 If CurrentFilter <> "" Then
  249.                     If sFilter <> "" Then
  250.                         sFilter = "(" & sFilter & ") AND (" & CurrentFilter & ")"
  251.                     Else
  252.                         sFilter = CurrentFilter
  253.                     End If
  254.                 End If
  255.                 Return ew_BuildSelectSql("SELECT COUNT(*) FROM " & SqlSelect.Substring(14), SqlWhere, "", "", "", sFilter, "")
  256.             End Get
  257.         End Property        
  258.  
  259.         ' Insert
  260.         Public Function Insert(ByRef Rs As OrderedDictionary) As Integer
  261.             Dim Sql As String = ""            
  262.             Dim names As String = ""
  263.             Dim values As String = ""            
  264.             Dim value As Object
  265.             Dim fld As cField        
  266.             For Each f As DictionaryEntry In Rs
  267.                 fld = FieldByName(f.Key)
  268.                 If fld IsNot Nothing Then
  269.                     names = names & fld.FldExpression & ","
  270.                     values = values & EW_DB_SQLPARAM_SYMBOL
  271.                     If EW_DB_SQLPARAM_SYMBOL <> "?" Then values = values & fld.FldVar
  272.                     values = values & ","
  273.                 End If
  274.             Next f
  275.             If names.EndsWith(",") Then names = names.Remove(names.Length - 1)
  276.             If values.EndsWith(",") Then values = values.Remove(values.Length - 1)
  277.             If names = "" Then Return -1
  278.             Sql = "INSERT INTO [tblTypes] (" & names & ") VALUES (" & values & ")"
  279.             Dim command As OleDbCommand = Conn.GetCommand(Sql)
  280.             For Each f As DictionaryEntry In Rs
  281.                 fld = FieldByName(f.Key)
  282.                 If fld IsNot Nothing Then
  283.                     value = f.Value    
  284.                     command.Parameters.Add(fld.FldVar, fld.FldDbType).Value = value    
  285.                 End If
  286.             Next
  287.             Return command.ExecuteNonQuery()            
  288.         End Function
  289.  
  290.         ' Update
  291.         Public Function Update(ByRef Rs As OrderedDictionary) As Integer
  292.             Dim Sql As String = ""            
  293.             Dim values As String = ""            
  294.             Dim value As Object
  295.             Dim fld As cField
  296.             For Each f As DictionaryEntry In Rs
  297.                 fld = FieldByName(f.Key)
  298.                 If fld IsNot Nothing Then
  299.                     values = values & fld.FldExpression & "=" & EW_DB_SQLPARAM_SYMBOL
  300.                     If EW_DB_SQLPARAM_SYMBOL <> "?" Then values = values & fld.FldVar
  301.                     values = values & ","
  302.                 End If
  303.             Next f
  304.             If values.EndsWith(",") Then values = values.Remove(values.Length - 1)
  305.             If values = "" Then Return -1
  306.             Sql = "UPDATE [tblTypes] SET " & values
  307.             If CurrentFilter <> "" Then Sql = Sql & " WHERE " & CurrentFilter
  308.             Dim command As OleDbCommand = Conn.GetCommand(Sql)
  309.             For Each f As DictionaryEntry In Rs
  310.                 fld = FieldByName(f.Key)
  311.                 If fld IsNot Nothing Then
  312.                     value = f.Value    
  313.                     command.Parameters.Add(fld.FldVar, fld.FldDbType).Value = value
  314.                 End If
  315.             Next
  316.             Return command.ExecuteNonQuery()
  317.         End Function
  318.  
  319.         ' Delete
  320.         Public Function Delete(ByRef Rs As OrderedDictionary) As Integer
  321.             Dim Sql As String
  322.             Dim fld As cField            
  323.             Sql = "DELETE FROM [tblTypes] WHERE "
  324.             fld = FieldByName("typID")
  325.             Sql = Sql & fld.FldExpression & "=" & ew_QuotedValue(Rs("typID"), EW_DATATYPE_NUMBER) & " AND "
  326.             If Sql.EndsWith(" AND ") Then Sql = Sql.Remove(Sql.Length - 5)
  327.             If CurrentFilter <> "" Then    Sql = Sql & " AND " & CurrentFilter
  328.             Return Conn.Execute(Sql)
  329.         End Function
  330.  
  331.         ' Key filter for table
  332.         Private ReadOnly Property SqlKeyFilter() As String
  333.             Get
  334.                 Return "[typID] = @typID@"
  335.             End Get
  336.         End Property
  337.  
  338.         ' Return Key filter for table
  339.         Public ReadOnly Property KeyFilter() As String
  340.             Get
  341.                 Dim sKeyFilter As String
  342.                 sKeyFilter = SqlKeyFilter
  343.                 If Not IsNumeric(typID.CurrentValue) Then
  344.                     sKeyFilter = "0=1" ' Invalid key
  345.                 End If
  346.                 sKeyFilter = sKeyFilter.Replace("@typID@", ew_AdjustSql(typID.CurrentValue)) ' Replace key value
  347.                 Return sKeyFilter
  348.             End Get
  349.         End Property
  350.  
  351.         ' Return URL
  352.         Public ReadOnly Property ReturnUrl() As String
  353.             Get ' Get referer URL automatically
  354.                 If HttpContext.Current.Request.ServerVariables("HTTP_REFERER") IsNot Nothing Then
  355.                     If ew_ReferPage() <> ew_CurrentPage() AndAlso ew_ReferPage() <> "login.aspx" Then ' Referer not same page or login page
  356.                         Dim url As String = HttpContext.Current.Request.ServerVariables("HTTP_REFERER")
  357.                         If url.Contains("?a=") Then ' Remove action
  358.                             Dim p1 As Integer = url.LastIndexOf("?a=")                            
  359.                             Dim p2 As Integer = url.IndexOf("&", p1)                            
  360.                             If p2 > -1 Then
  361.                                 url = url.Substring(0, p1 + 1) & url.Substring(p2 + 1)
  362.                             Else
  363.                                 url = url.Substring(0, p1)                                 
  364.                             End If
  365.                         End If
  366.                         ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_RETURN_URL) = url ' Save to Session
  367.                     End If
  368.                 End If
  369.                 If ew_NotEmpty(ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_RETURN_URL)) Then
  370.                     Return ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_RETURN_URL)
  371.                 Else
  372.                     Return "tblTypeslist.aspx"
  373.                 End If
  374.             End Get
  375.         End Property
  376.  
  377.         ' View URL
  378.         Public Function ViewUrl() As String
  379.             Return KeyUrl("tblTypesview.aspx", UrlParm(""))
  380.         End Function
  381.  
  382.         ' Add URL
  383.         Public Function AddUrl() As String
  384.             AddUrl = "tblTypesadd.aspx"
  385.             Dim sUrlParm As String
  386.             sUrlParm = UrlParm("")
  387.             If sUrlParm <> "" Then AddUrl = AddUrl & "?" & sUrlParm
  388.         End Function
  389.  
  390.         ' Edit URL
  391.         Public Function EditUrl() As String
  392.             Return KeyUrl("tblTypesedit.aspx", UrlParm(""))
  393.         End Function
  394.  
  395.         ' Inline edit URL
  396.         Public Function InlineEditUrl() As String
  397.             Return KeyUrl(ew_CurrentPage(), UrlParm("a=edit"))
  398.         End Function
  399.  
  400.         ' Copy URL
  401.         Public Function CopyUrl() As String
  402.             Return KeyUrl("tblTypesadd.aspx", UrlParm(""))
  403.         End Function
  404.  
  405.         ' Inline copy URL
  406.         Public Function InlineCopyUrl() As String
  407.             Return KeyUrl(ew_CurrentPage(), UrlParm("a=copy"))
  408.         End Function
  409.  
  410.         ' Delete URL
  411.         Public Function DeleteUrl() As String
  412.             Return KeyUrl("tblTypesdelete.aspx", UrlParm(""))
  413.         End Function
  414.  
  415.         ' Key URL
  416.         Public Function KeyUrl(url As String, parm As String) As String
  417.             Dim sUrl As String
  418.             sUrl = url & "?"
  419.             If parm <> "" Then sUrl = sUrl & parm & "&"
  420.             If Not IsDbNull(typID.CurrentValue) Then
  421.                 sUrl = sUrl & "typID=" & typID.CurrentValue
  422.             Else
  423.                 Return "javascript:alert('Invalid Record! Key is null');"
  424.             End If
  425.             Return sUrl
  426.         End Function
  427.  
  428.         ' URL parm
  429.         Function UrlParm(parm As String) As String
  430.             Dim OutStr As String = ""
  431.             If UseTokenInUrl Then
  432.                 OutStr = "t=tblTypes"
  433.             End If
  434.             If parm <> "" Then
  435.                 If OutStr <> "" Then OutStr = OutStr & "&"
  436.                 OutStr = OutStr & parm
  437.             End If
  438.             Return OutStr
  439.         End Function
  440.  
  441.         ' Sort URL
  442.         Public Function SortUrl(ByRef fld As cField) As String
  443.             Dim OutStr As String = ""
  444.             If CurrentAction <> "" OrElse Export <> "" OrElse (fld.FldType = 201 OrElse fld.FldType = 203 OrElse fld.FldType = 205) Then
  445.                 OutStr = ""
  446.             Else
  447.                 OutStr = ew_CurrentPage()
  448.                 Dim sUrlParm As String
  449.                 sUrlParm = UrlParm("order=" & HttpContext.Current.Server.UrlEncode(fld.FldName) & "&ordertype=" & fld.ReverseSort)
  450.                 OutStr = OutStr & "?" & sUrlParm
  451.             End If
  452.             Return OutStr
  453.         End Function        
  454.  
  455.         ' Load rows based on filter
  456.         Public Function LoadRs(sFilter As String) As OleDbDataReader
  457.             Dim RsRows As OleDbDataReader
  458.  
  459.             ' Set up filter (SQL WHERE clause)
  460.             CurrentFilter = sFilter
  461.             Dim sSql As String = SQL()
  462.             Try
  463.                 RsRows = Conn.GetDataReader(sSql)
  464.                 If RsRows.HasRows Then
  465.                     Return RsRows
  466.                 Else
  467.                     RsRows.Close()
  468.                     RsRows.Dispose()
  469.                 End If
  470.             Catch
  471.             End Try
  472.             Return Nothing
  473.         End Function
  474.  
  475.         ' Load row values from recordset
  476.         Public Sub LoadListRowValues(ByRef RsRow As OleDbDataReader)            
  477.             typID.DbValue = RsRow("typID")
  478.             typDescription.DbValue = RsRow("typDescription")
  479.             typIsActive.DbValue = IIf(ew_ConvertToBool(RsRow("typIsActive")), "1", "0")
  480.         End Sub
  481.  
  482.         ' Render list row values
  483.         Public Sub RenderListRow()
  484.  
  485.             ' Row Rendering event
  486.             Row_Rendering()
  487.  
  488.             ' typDescription
  489.             typDescription.ViewValue = typDescription.CurrentValue
  490.             typDescription.CssStyle = ""
  491.             typDescription.CssClass = ""
  492.             typDescription.ViewCustomAttributes = ""
  493.  
  494.             ' typDescription
  495.             typDescription.HrefValue = ""
  496.  
  497.             ' Row Rendered event
  498.             Row_Rendered()
  499.         End Sub
  500.  
  501.         Public CurrentAction As String ' Current action
  502.  
  503.         Public EventCancelled As Boolean ' Event cancelled
  504.  
  505.         Public CancelMessage As String ' Cancel message
  506.  
  507.         ' Row Type
  508.         Public RowType As Integer    
  509.  
  510.         Public CssClass As String = "" ' CSS class
  511.  
  512.         Public CssStyle As String = "" ' CSS style
  513.  
  514.         Public RowClientEvents As String = "" ' Row client events
  515.  
  516.         ' Row Attribute
  517.         Public ReadOnly Property RowAttributes() As String
  518.             Get
  519.                 Dim sAtt As String = ""
  520.                 If ew_NotEmpty(CssStyle) Then
  521.                     sAtt = sAtt & " style=""" & CssStyle.Trim() & """"
  522.                 End If
  523.                 If ew_NotEmpty(CssClass) Then
  524.                     sAtt = sAtt & " class=""" & CssClass.Trim() & """"
  525.                 End If
  526.                 If m_Export = "" Then
  527.                     If ew_NotEmpty(RowClientEvents) Then
  528.                         sAtt = sAtt & " " & RowClientEvents.Trim()
  529.                     End If
  530.                 End If
  531.                 Return sAtt
  532.             End Get
  533.         End Property
  534.  
  535.         ' Export
  536.         Private m_Export As String
  537.  
  538.         Public Property Export() As String
  539.             Get
  540.                 Return m_Export
  541.             End Get
  542.             Set(ByVal Value As String)
  543.                 m_Export = Value
  544.             End Set
  545.         End Property
  546.  
  547.         ' Export Original Value
  548.         Public ExportOriginalValue As Boolean = EW_EXPORT_ORIGINAL_VALUE
  549.  
  550.         ' Export All
  551.         Public ExportAll As Boolean = EW_EXPORT_ALL
  552.  
  553.         ' Send Email
  554.         Public SendEmail As Boolean
  555.  
  556.         ' Custom Inner Html
  557.         Public TableCustomInnerHtml As Object
  558.  
  559.         '
  560.         '  Field objects
  561.         '        
  562.         Public Function FieldByName(Name As String) As Object
  563.             If Name = "typID" Then Return typID
  564.             If Name = "typDescription" Then Return typDescription
  565.             If Name = "typIsActive" Then Return typIsActive
  566.             Return Nothing
  567.         End Function
  568.  
  569.         ' typID
  570.         Private m_typID As cField
  571.  
  572.         Public ReadOnly Property typID() As cField
  573.             Get
  574.                 If m_typID Is Nothing Then m_typID = New cField("tblTypes", "x_typID", "typID", "[typID]", 3, OleDbType.Integer, EW_DATATYPE_NUMBER,  0)
  575.                 Return m_typID
  576.             End Get
  577.         End Property
  578.  
  579.         ' typDescription
  580.         Private m_typDescription As cField
  581.  
  582.         Public ReadOnly Property typDescription() As cField
  583.             Get
  584.                 If m_typDescription Is Nothing Then m_typDescription = New cField("tblTypes", "x_typDescription", "typDescription", "[typDescription]", 202, OleDbType.VarWChar, EW_DATATYPE_STRING,  0)
  585.                 Return m_typDescription
  586.             End Get
  587.         End Property
  588.  
  589.         ' typIsActive
  590.         Private m_typIsActive As cField
  591.  
  592.         Public ReadOnly Property typIsActive() As cField
  593.             Get
  594.                 If m_typIsActive Is Nothing Then m_typIsActive = New cField("tblTypes", "x_typIsActive", "typIsActive", "[typIsActive]", 11, OleDbType.Boolean, EW_DATATYPE_BOOLEAN, 0)
  595.                 Return m_typIsActive
  596.             End Get
  597.         End Property
  598.  
  599.         ' Table level events
  600.         ' Recordset Selecting event
  601.         Public Sub Recordset_Selecting(ByRef filter As String) 
  602.  
  603.             ' Enter your code here    
  604.         End Sub
  605.  
  606.         ' Recordset Selected event
  607.         Public Sub Recordset_Selected(rs As DbDataReader)
  608.  
  609.             'HttpContext.Current.Response.Write("Recordset Selected")
  610.         End Sub
  611.  
  612.         ' Recordset Searching event
  613.         Public Sub Recordset_Searching(ByRef filter As String)
  614.  
  615.             ' Enter your code here
  616.         End Sub
  617.  
  618.         ' Row_Selecting event
  619.         Public Sub Row_Selecting(ByRef filter As String)
  620.  
  621.             ' Enter your code here    
  622.         End Sub
  623.  
  624.         ' Row Selected event
  625.         Public Sub Row_Selected(rs As DbDataReader)
  626.  
  627.             'HttpContext.Current.Response.Write("Row Selected")
  628.         End Sub
  629.  
  630.         ' Row Rendering event
  631.         Public Sub Row_Rendering()
  632.  
  633.             ' Enter your code here    
  634.         End Sub
  635.  
  636.         ' Row Rendered event
  637.         Public Sub Row_Rendered()
  638.  
  639.             ' To view properties of field class, use:
  640.             ' HttpContext.Current.Response.Write(<FieldName>.AsString())
  641.  
  642.         End Sub
  643.  
  644.         ' Row Inserting event
  645.         Public Function Row_Inserting(ByRef rs As OrderedDictionary) As Boolean
  646.  
  647.             ' Enter your code here
  648.             ' To cancel, set return value to False and error message to CancelMessage
  649.  
  650.             Return True
  651.         End Function
  652.  
  653.         ' Row Inserted event
  654.         Public Sub Row_Inserted(rs As OrderedDictionary)
  655.  
  656.             'HttpContext.Current.Response.Write("Row Inserted")
  657.         End Sub
  658.  
  659.         ' Row Updating event
  660.         Public Function Row_Updating(rsold As OrderedDictionary, ByRef rsnew As OrderedDictionary) As Boolean
  661.  
  662.             ' Enter your code here
  663.             ' To cancel, set return value to False and error message to CancelMessage
  664.  
  665.             Return True
  666.         End Function
  667.  
  668.         ' Row Updated event
  669.         Public Sub Row_Updated(rsold As OrderedDictionary, rsnew As OrderedDictionary)
  670.  
  671.             'HttpContext.Current.Response.Write("Row Updated")
  672.         End Sub
  673.  
  674.         ' Recordset Deleting event
  675.         Public Function Row_Deleting(rs As OrderedDictionary) As Boolean
  676.  
  677.             ' Enter your code here
  678.             ' To cancel, set return value to False and error message to CancelMessage
  679.  
  680.             Return True
  681.         End Function
  682.  
  683.         ' Recordset Deleted event
  684.         Public Sub Row_Deleted(rs As OrderedDictionary)
  685.  
  686.             'HttpContext.Current.Response.Write("Row Deleted")
  687.         End Sub
  688.  
  689.         ' Email Sending event
  690.         Public Function Email_Sending(ByRef Email As cEmail, Args As Hashtable) As Boolean
  691.  
  692.             'HttpContext.Current.Response.Write(Email.AsString())
  693.             'HttpContext.Current.Response.End()
  694.  
  695.             Return True
  696.         End Function
  697.  
  698.         ' Class terminate
  699.         Public Sub Dispose() Implements IDisposable.Dispose
  700.             If m_typID IsNot Nothing Then m_typID.Dispose()
  701.             If m_typDescription IsNot Nothing Then m_typDescription.Dispose()
  702.             If m_typIsActive IsNot Nothing Then m_typIsActive.Dispose()
  703.         End Sub
  704.     End Class
  705. End Class
  706.