home *** CD-ROM | disk | FTP | other *** search
/ 66.142.0.142 / 66.142.0.142.tar / 66.142.0.142 / App_Code / viewEmployeesinfo.vb < prev    next >
Text File  |  2010-08-26  |  29KB  |  931 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 viewEmployees As cviewEmployees
  12.  
  13.     ' Define table class
  14.     Class cviewEmployees
  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 "viewEmployees"
  38.             End Get
  39.         End Property
  40.  
  41.         ' Table name
  42.         Public ReadOnly Property TableName() As String
  43.             Get
  44.                 Return "viewEmployees"
  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 "viewEmployees_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 tblEmployees.empID, tblEmployees.empPayrollNumber, tblEmployees.empUsername, tblEmployees.empName, tblEmployees.empFirstName, tblEmployees.empLastName, tblEmployees.empAddress, tblEmployees.empCity, tblEmployees.empState, tblEmployees.empZIP, tblEmployees.empPhone, tblEmployees.empEmail, tblEmployees.empUserPass FROM tblEmployees"
  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.  
  223.                 ' Add user ID filter
  224.                 If Security.CurrentUserID <> "" And Not Security.IsAdmin Then ' Non system admin
  225.                     sFilter = AddUserIDFilter(sFilter) ' Add user ID filter
  226.                 End If
  227.                 sSort = SessionOrderBy
  228.                 Return ew_BuildSelectSql(SqlSelect, SqlWhere, SqlGroupBy, SqlHaving, SqlOrderBy, sFilter, sSort)
  229.             End Get
  230.         End Property
  231.  
  232.         ' Return table SQL with list page filter
  233.         Public ReadOnly Property ListSQL() As String
  234.             Get
  235.                 Dim sFilter As String, sSort As String
  236.                 sFilter = SessionWhere
  237.                 If CurrentFilter <> "" Then
  238.                     If sFilter <> "" Then
  239.                         sFilter = "(" & sFilter & ") AND (" & CurrentFilter & ")"
  240.                     Else
  241.                         sFilter = CurrentFilter
  242.                     End If
  243.                 End If
  244.  
  245.                 ' Add user ID filter
  246.                 If Security.CurrentUserID <> "" And Not Security.IsAdmin Then ' Non system admin
  247.                     sFilter = AddUserIDFilter(sFilter) ' Add user ID filter
  248.                 End If
  249.                 sSort = SessionOrderBy
  250.                 Return ew_BuildSelectSql(SqlSelect, SqlWhere, SqlGroupBy, SqlHaving, SqlOrderBy, sFilter, sSort)
  251.             End Get
  252.         End Property
  253.  
  254.         ' Return SQL for record count
  255.         Public ReadOnly Property SelectCountSQL() As String
  256.             Get
  257.                 Dim sFilter As String = SessionWhere
  258.                 If CurrentFilter <> "" Then
  259.                     If sFilter <> "" Then
  260.                         sFilter = "(" & sFilter & ") AND (" & CurrentFilter & ")"
  261.                     Else
  262.                         sFilter = CurrentFilter
  263.                     End If
  264.                 End If
  265.  
  266.                 ' Add user ID filter
  267.                 If Security.CurrentUserID <> "" And Not Security.IsAdmin Then ' Non system admin
  268.                     sFilter = AddUserIDFilter(sFilter) ' Add user ID filter
  269.                 End If
  270.                 Return ew_BuildSelectSql("SELECT COUNT(*) FROM " & SqlSelect.Substring(14), SqlWhere, "", "", "", sFilter, "")
  271.             End Get
  272.         End Property        
  273.  
  274.         ' Insert
  275.         Public Function Insert(ByRef Rs As OrderedDictionary) As Integer
  276.             Dim Sql As String = ""            
  277.             Dim names As String = ""
  278.             Dim values As String = ""            
  279.             Dim value As Object
  280.             Dim fld As cField        
  281.             For Each f As DictionaryEntry In Rs
  282.                 fld = FieldByName(f.Key)
  283.                 If fld IsNot Nothing Then
  284.                     names = names & fld.FldExpression & ","
  285.                     values = values & EW_DB_SQLPARAM_SYMBOL
  286.                     If EW_DB_SQLPARAM_SYMBOL <> "?" Then values = values & fld.FldVar
  287.                     values = values & ","
  288.                 End If
  289.             Next f
  290.             If names.EndsWith(",") Then names = names.Remove(names.Length - 1)
  291.             If values.EndsWith(",") Then values = values.Remove(values.Length - 1)
  292.             If names = "" Then Return -1
  293.             Sql = "INSERT INTO tblEmployees (" & names & ") VALUES (" & values & ")"
  294.             Dim command As OleDbCommand = Conn.GetCommand(Sql)
  295.             For Each f As DictionaryEntry In Rs
  296.                 fld = FieldByName(f.Key)
  297.                 If fld IsNot Nothing Then
  298.                     value = f.Value    
  299.                     command.Parameters.Add(fld.FldVar, fld.FldDbType).Value = value    
  300.                 End If
  301.             Next
  302.             Return command.ExecuteNonQuery()            
  303.         End Function
  304.  
  305.         ' Update
  306.         Public Function Update(ByRef Rs As OrderedDictionary) As Integer
  307.             Dim Sql As String = ""            
  308.             Dim values As String = ""            
  309.             Dim value As Object
  310.             Dim fld As cField
  311.             For Each f As DictionaryEntry In Rs
  312.                 fld = FieldByName(f.Key)
  313.                 If fld IsNot Nothing Then
  314.                     values = values & fld.FldExpression & "=" & EW_DB_SQLPARAM_SYMBOL
  315.                     If EW_DB_SQLPARAM_SYMBOL <> "?" Then values = values & fld.FldVar
  316.                     values = values & ","
  317.                 End If
  318.             Next f
  319.             If values.EndsWith(",") Then values = values.Remove(values.Length - 1)
  320.             If values = "" Then Return -1
  321.             Sql = "UPDATE tblEmployees SET " & values
  322.             If CurrentFilter <> "" Then Sql = Sql & " WHERE " & CurrentFilter
  323.             Dim command As OleDbCommand = Conn.GetCommand(Sql)
  324.             For Each f As DictionaryEntry In Rs
  325.                 fld = FieldByName(f.Key)
  326.                 If fld IsNot Nothing Then
  327.                     value = f.Value    
  328.                     command.Parameters.Add(fld.FldVar, fld.FldDbType).Value = value
  329.                 End If
  330.             Next
  331.             Return command.ExecuteNonQuery()
  332.         End Function
  333.  
  334.         ' Delete
  335.         Public Function Delete(ByRef Rs As OrderedDictionary) As Integer
  336.             Dim Sql As String
  337.             Dim fld As cField            
  338.             Sql = "DELETE FROM tblEmployees WHERE "
  339.             fld = FieldByName("empID")
  340.             Sql = Sql & fld.FldExpression & "=" & ew_QuotedValue(Rs("empID"), EW_DATATYPE_NUMBER) & " AND "
  341.             If Sql.EndsWith(" AND ") Then Sql = Sql.Remove(Sql.Length - 5)
  342.             If CurrentFilter <> "" Then    Sql = Sql & " AND " & CurrentFilter
  343.             Return Conn.Execute(Sql)
  344.         End Function
  345.  
  346.         ' Key filter for table
  347.         Private ReadOnly Property SqlKeyFilter() As String
  348.             Get
  349.                 Return "tblEmployees.empID = @empID@"
  350.             End Get
  351.         End Property
  352.  
  353.         ' Return Key filter for table
  354.         Public ReadOnly Property KeyFilter() As String
  355.             Get
  356.                 Dim sKeyFilter As String
  357.                 sKeyFilter = SqlKeyFilter
  358.                 If Not IsNumeric(empID.CurrentValue) Then
  359.                     sKeyFilter = "0=1" ' Invalid key
  360.                 End If
  361.                 sKeyFilter = sKeyFilter.Replace("@empID@", ew_AdjustSql(empID.CurrentValue)) ' Replace key value
  362.                 Return sKeyFilter
  363.             End Get
  364.         End Property
  365.  
  366.         ' Return URL
  367.         Public ReadOnly Property ReturnUrl() As String
  368.             Get ' Get referer URL automatically
  369.                 If HttpContext.Current.Request.ServerVariables("HTTP_REFERER") IsNot Nothing Then
  370.                     If ew_ReferPage() <> ew_CurrentPage() AndAlso ew_ReferPage() <> "login.aspx" Then ' Referer not same page or login page
  371.                         Dim url As String = HttpContext.Current.Request.ServerVariables("HTTP_REFERER")
  372.                         If url.Contains("?a=") Then ' Remove action
  373.                             Dim p1 As Integer = url.LastIndexOf("?a=")                            
  374.                             Dim p2 As Integer = url.IndexOf("&", p1)                            
  375.                             If p2 > -1 Then
  376.                                 url = url.Substring(0, p1 + 1) & url.Substring(p2 + 1)
  377.                             Else
  378.                                 url = url.Substring(0, p1)                                 
  379.                             End If
  380.                         End If
  381.                         ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_RETURN_URL) = url ' Save to Session
  382.                     End If
  383.                 End If
  384.                 If ew_NotEmpty(ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_RETURN_URL)) Then
  385.                     Return ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_RETURN_URL)
  386.                 Else
  387.                     Return "viewEmployeeslist.aspx"
  388.                 End If
  389.             End Get
  390.         End Property
  391.  
  392.         ' View URL
  393.         Public Function ViewUrl() As String
  394.             Return KeyUrl("viewEmployeesview.aspx", UrlParm(""))
  395.         End Function
  396.  
  397.         ' Add URL
  398.         Public Function AddUrl() As String
  399.             AddUrl = "viewEmployeesadd.aspx"
  400.             Dim sUrlParm As String
  401.             sUrlParm = UrlParm("")
  402.             If sUrlParm <> "" Then AddUrl = AddUrl & "?" & sUrlParm
  403.         End Function
  404.  
  405.         ' Edit URL
  406.         Public Function EditUrl() As String
  407.             Return KeyUrl("viewEmployeesedit.aspx", UrlParm(""))
  408.         End Function
  409.  
  410.         ' Inline edit URL
  411.         Public Function InlineEditUrl() As String
  412.             Return KeyUrl(ew_CurrentPage(), UrlParm("a=edit"))
  413.         End Function
  414.  
  415.         ' Copy URL
  416.         Public Function CopyUrl() As String
  417.             Return KeyUrl("viewEmployeesadd.aspx", UrlParm(""))
  418.         End Function
  419.  
  420.         ' Inline copy URL
  421.         Public Function InlineCopyUrl() As String
  422.             Return KeyUrl(ew_CurrentPage(), UrlParm("a=copy"))
  423.         End Function
  424.  
  425.         ' Delete URL
  426.         Public Function DeleteUrl() As String
  427.             Return KeyUrl("viewEmployeesdelete.aspx", UrlParm(""))
  428.         End Function
  429.  
  430.         ' Key URL
  431.         Public Function KeyUrl(url As String, parm As String) As String
  432.             Dim sUrl As String
  433.             sUrl = url & "?"
  434.             If parm <> "" Then sUrl = sUrl & parm & "&"
  435.             If Not IsDbNull(empID.CurrentValue) Then
  436.                 sUrl = sUrl & "empID=" & empID.CurrentValue
  437.             Else
  438.                 Return "javascript:alert('Invalid Record! Key is null');"
  439.             End If
  440.             Return sUrl
  441.         End Function
  442.  
  443.         ' URL parm
  444.         Function UrlParm(parm As String) As String
  445.             Dim OutStr As String = ""
  446.             If UseTokenInUrl Then
  447.                 OutStr = "t=viewEmployees"
  448.             End If
  449.             If parm <> "" Then
  450.                 If OutStr <> "" Then OutStr = OutStr & "&"
  451.                 OutStr = OutStr & parm
  452.             End If
  453.             Return OutStr
  454.         End Function
  455.  
  456.         ' Sort URL
  457.         Public Function SortUrl(ByRef fld As cField) As String
  458.             Dim OutStr As String = ""
  459.             If CurrentAction <> "" OrElse Export <> "" OrElse (fld.FldType = 201 OrElse fld.FldType = 203 OrElse fld.FldType = 205) Then
  460.                 OutStr = ""
  461.             Else
  462.                 OutStr = ew_CurrentPage()
  463.                 Dim sUrlParm As String
  464.                 sUrlParm = UrlParm("order=" & HttpContext.Current.Server.UrlEncode(fld.FldName) & "&ordertype=" & fld.ReverseSort)
  465.                 OutStr = OutStr & "?" & sUrlParm
  466.             End If
  467.             Return OutStr
  468.         End Function        
  469.  
  470.         ' Load rows based on filter
  471.         Public Function LoadRs(sFilter As String) As OleDbDataReader
  472.             Dim RsRows As OleDbDataReader
  473.  
  474.             ' Set up filter (SQL WHERE clause)
  475.             CurrentFilter = sFilter
  476.             Dim sSql As String = SQL()
  477.             Try
  478.                 RsRows = Conn.GetDataReader(sSql)
  479.                 If RsRows.HasRows Then
  480.                     Return RsRows
  481.                 Else
  482.                     RsRows.Close()
  483.                     RsRows.Dispose()
  484.                 End If
  485.             Catch
  486.             End Try
  487.             Return Nothing
  488.         End Function
  489.  
  490.         ' Load row values from recordset
  491.         Public Sub LoadListRowValues(ByRef RsRow As OleDbDataReader)            
  492.             empID.DbValue = RsRow("empID")
  493.             empPayrollNumber.DbValue = RsRow("empPayrollNumber")
  494.             empUsername.DbValue = RsRow("empUsername")
  495.             empName.DbValue = RsRow("empName")
  496.             empFirstName.DbValue = RsRow("empFirstName")
  497.             empLastName.DbValue = RsRow("empLastName")
  498.             empAddress.DbValue = RsRow("empAddress")
  499.             empCity.DbValue = RsRow("empCity")
  500.             empState.DbValue = RsRow("empState")
  501.             empZIP.DbValue = RsRow("empZIP")
  502.             empPhone.DbValue = RsRow("empPhone")
  503.             empEmail.DbValue = RsRow("empEmail")
  504.             empUserPass.DbValue = RsRow("empUserPass")
  505.         End Sub
  506.  
  507.         ' Render list row values
  508.         Public Sub RenderListRow()
  509.  
  510.             ' Row Rendering event
  511.             Row_Rendering()
  512.  
  513.             ' empID
  514.             empID.ViewValue = empID.CurrentValue
  515.             empID.CssStyle = ""
  516.             empID.CssClass = ""
  517.             empID.ViewCustomAttributes = ""
  518.  
  519.             ' empPayrollNumber
  520.             empPayrollNumber.ViewValue = empPayrollNumber.CurrentValue
  521.             empPayrollNumber.CssStyle = ""
  522.             empPayrollNumber.CssClass = ""
  523.             empPayrollNumber.ViewCustomAttributes = ""
  524.  
  525.             ' empUsername
  526.             empUsername.ViewValue = empUsername.CurrentValue
  527.             empUsername.CssStyle = ""
  528.             empUsername.CssClass = ""
  529.             empUsername.ViewCustomAttributes = ""
  530.  
  531.             ' empName
  532.             empName.ViewValue = empName.CurrentValue
  533.             empName.CssStyle = ""
  534.             empName.CssClass = ""
  535.             empName.ViewCustomAttributes = ""
  536.  
  537.             ' empPhone
  538.             empPhone.ViewValue = empPhone.CurrentValue
  539.             empPhone.CssStyle = ""
  540.             empPhone.CssClass = ""
  541.             empPhone.ViewCustomAttributes = ""
  542.  
  543.             ' empEmail
  544.             empEmail.ViewValue = empEmail.CurrentValue
  545.             empEmail.CssStyle = ""
  546.             empEmail.CssClass = ""
  547.             empEmail.ViewCustomAttributes = ""
  548.  
  549.             ' empID
  550.             empID.HrefValue = ""
  551.  
  552.             ' empPayrollNumber
  553.             empPayrollNumber.HrefValue = ""
  554.  
  555.             ' empUsername
  556.             empUsername.HrefValue = ""
  557.  
  558.             ' empName
  559.             empName.HrefValue = ""
  560.  
  561.             ' empPhone
  562.             empPhone.HrefValue = ""
  563.  
  564.             ' empEmail
  565.             empEmail.HrefValue = ""
  566.  
  567.             ' Row Rendered event
  568.             Row_Rendered()
  569.         End Sub
  570.  
  571.         ' Add user ID filter
  572.         Public Function AddUserIDFilter(sFilter As String) As String
  573.             Dim sFilterWrk As String
  574.             sFilterWrk = Security.UserIDList
  575.             If Not Security.IsAdmin AndAlso sFilterWrk <> "" Then
  576.                 sFilterWrk = "tblEmployees.empID IN (" & sFilterWrk & ")"
  577.                 If sFilter <> "" Then sFilterWrk = "(" & sFilter & ") AND (" & sFilterWrk & ")"
  578.             Else
  579.                 sFilterWrk = sFilter
  580.             End If
  581.             Return sFilterWrk
  582.         End Function        
  583.  
  584.         ' Get user ID subquery
  585.         Public Function GetUserIDSubquery(ByRef fld As Object, ByRef masterfld As Object) As String
  586.             Dim sWrk As String = ""
  587.             Dim sSql As String = "SELECT " & masterfld.FldExpression & " FROM tblEmployees WHERE " & AddUserIDFilter("")            
  588.             If EW_USE_SUBQUERY_FOR_MASTER_USER_ID Then ' Use subquery
  589.                 sWrk = sSql
  590.             Else ' List all values
  591.                 Dim RsUser As OleDbDataReader = Conn.GetTempDataReader(sSql)
  592.                 Try
  593.                     Do While RsUser.Read()
  594.                         If sWrk <> "" Then sWrk = sWrk & ","
  595.                         sWrk = sWrk & ew_QuotedValue(RsUser(0), masterfld.FldDataType)
  596.                     Loop
  597.                 Finally
  598.                     Conn.CloseTempDataReader()
  599.                 End Try
  600.             End If
  601.             If sWrk <> "" Then
  602.                 sWrk = fld.FldExpression & " IN (" & sWrk & ")"
  603.             End If
  604.             Return sWrk
  605.         End Function
  606.  
  607.         Public CurrentAction As String ' Current action
  608.  
  609.         Public EventCancelled As Boolean ' Event cancelled
  610.  
  611.         Public CancelMessage As String ' Cancel message
  612.  
  613.         ' Row Type
  614.         Public RowType As Integer    
  615.  
  616.         Public CssClass As String = "" ' CSS class
  617.  
  618.         Public CssStyle As String = "" ' CSS style
  619.  
  620.         Public RowClientEvents As String = "" ' Row client events
  621.  
  622.         ' Row Attribute
  623.         Public ReadOnly Property RowAttributes() As String
  624.             Get
  625.                 Dim sAtt As String = ""
  626.                 If ew_NotEmpty(CssStyle) Then
  627.                     sAtt = sAtt & " style=""" & CssStyle.Trim() & """"
  628.                 End If
  629.                 If ew_NotEmpty(CssClass) Then
  630.                     sAtt = sAtt & " class=""" & CssClass.Trim() & """"
  631.                 End If
  632.                 If m_Export = "" Then
  633.                     If ew_NotEmpty(RowClientEvents) Then
  634.                         sAtt = sAtt & " " & RowClientEvents.Trim()
  635.                     End If
  636.                 End If
  637.                 Return sAtt
  638.             End Get
  639.         End Property
  640.  
  641.         ' Export
  642.         Private m_Export As String
  643.  
  644.         Public Property Export() As String
  645.             Get
  646.                 Return m_Export
  647.             End Get
  648.             Set(ByVal Value As String)
  649.                 m_Export = Value
  650.             End Set
  651.         End Property
  652.  
  653.         ' Export Original Value
  654.         Public ExportOriginalValue As Boolean = EW_EXPORT_ORIGINAL_VALUE
  655.  
  656.         ' Export All
  657.         Public ExportAll As Boolean = EW_EXPORT_ALL
  658.  
  659.         ' Send Email
  660.         Public SendEmail As Boolean
  661.  
  662.         ' Custom Inner Html
  663.         Public TableCustomInnerHtml As Object
  664.  
  665.         '
  666.         '  Field objects
  667.         '        
  668.         Public Function FieldByName(Name As String) As Object
  669.             If Name = "empID" Then Return empID
  670.             If Name = "empPayrollNumber" Then Return empPayrollNumber
  671.             If Name = "empName" Then Return empName
  672.             If Name = "empFirstName" Then Return empFirstName
  673.             If Name = "empLastName" Then Return empLastName
  674.             If Name = "empAddress" Then Return empAddress
  675.             If Name = "empCity" Then Return empCity
  676.             If Name = "empState" Then Return empState
  677.             If Name = "empZIP" Then Return empZIP
  678.             If Name = "empPhone" Then Return empPhone
  679.             If Name = "empEmail" Then Return empEmail
  680.             If Name = "empUserPass" Then Return empUserPass
  681.             Return Nothing        
  682.         End Function
  683.  
  684.         ' empID
  685.         Private m_empID As cField
  686.  
  687.         Public ReadOnly Property empID() As cField
  688.             Get
  689.                 If m_empID Is Nothing Then m_empID = New cField("viewEmployees", "x_empID", "empID", "tblEmployees.empID", 3, OleDbType.Integer, EW_DATATYPE_NUMBER, 0)
  690.                 Return m_empID
  691.             End Get
  692.         End Property
  693.  
  694.         ' empPayrollNumber
  695.         Private m_empPayrollNumber As cField
  696.  
  697.         Public ReadOnly Property empPayrollNumber() As cField
  698.             Get
  699.                 If m_empPayrollNumber Is Nothing Then m_empPayrollNumber = New cField("viewEmployees", "x_empPayrollNumber", "empPayrollNumber", "tblEmployees.empPayrollNumber", 3, OleDbType.Integer, EW_DATATYPE_NUMBER, 0)
  700.                 Return m_empPayrollNumber
  701.             End Get
  702.         End Property
  703.  
  704.         ' empUsername
  705.         Private m_empUsername As cField
  706.  
  707.         Public ReadOnly Property empUsername() As cField
  708.             Get
  709.                 If m_empUsername Is Nothing Then m_empUsername = New cField("viewEmployees", "x_empUsername", "empUsername", "tblEmployees.empUsername", 202, OleDbType.VarWChar, EW_DATATYPE_STRING,  0)
  710.                 Return m_empUsername
  711.             End Get
  712.         End Property
  713.  
  714.         ' empName
  715.         Private m_empName As cField
  716.  
  717.         Public ReadOnly Property empName() As cField
  718.             Get
  719.                 If m_empName Is Nothing Then m_empName = New cField("viewEmployees", "x_empName", "empName", "tblEmployees.empName", 202, OleDbType.VarWChar, EW_DATATYPE_STRING,  0)
  720.                 Return m_empName
  721.             End Get
  722.         End Property
  723.  
  724.         ' empFirstName
  725.         Private m_empFirstName As cField
  726.  
  727.         Public ReadOnly Property empFirstName() As cField
  728.             Get
  729.                 If m_empFirstName Is Nothing Then m_empFirstName = New cField("viewEmployees", "x_empFirstName", "empFirstName", "tblEmployees.empFirstName", 202, OleDbType.VarWChar, EW_DATATYPE_STRING,  0)
  730.                 Return m_empFirstName
  731.             End Get
  732.         End Property
  733.  
  734.         ' empLastName
  735.         Private m_empLastName As cField
  736.  
  737.         Public ReadOnly Property empLastName() As cField
  738.             Get
  739.                 If m_empLastName Is Nothing Then m_empLastName = New cField("viewEmployees", "x_empLastName", "empLastName", "tblEmployees.empLastName", 202, OleDbType.VarWChar, EW_DATATYPE_STRING,  0)
  740.                 Return m_empLastName
  741.             End Get
  742.         End Property
  743.  
  744.         ' empAddress
  745.         Private m_empAddress As cField
  746.  
  747.         Public ReadOnly Property empAddress() As cField
  748.             Get
  749.                 If m_empAddress Is Nothing Then m_empAddress = New cField("viewEmployees", "x_empAddress", "empAddress", "tblEmployees.empAddress", 202, OleDbType.VarWChar, EW_DATATYPE_STRING,  0)
  750.                 Return m_empAddress
  751.             End Get
  752.         End Property
  753.  
  754.         ' empCity
  755.         Private m_empCity As cField
  756.  
  757.         Public ReadOnly Property empCity() As cField
  758.             Get
  759.                 If m_empCity Is Nothing Then m_empCity = New cField("viewEmployees", "x_empCity", "empCity", "tblEmployees.empCity", 202, OleDbType.VarWChar, EW_DATATYPE_STRING,  0)
  760.                 Return m_empCity
  761.             End Get
  762.         End Property
  763.  
  764.         ' empState
  765.         Private m_empState As cField
  766.  
  767.         Public ReadOnly Property empState() As cField
  768.             Get
  769.                 If m_empState Is Nothing Then m_empState = New cField("viewEmployees", "x_empState", "empState", "tblEmployees.empState", 202, OleDbType.VarWChar, EW_DATATYPE_STRING,  0)
  770.                 Return m_empState
  771.             End Get
  772.         End Property
  773.  
  774.         ' empZIP
  775.         Private m_empZIP As cField
  776.  
  777.         Public ReadOnly Property empZIP() As cField
  778.             Get
  779.                 If m_empZIP Is Nothing Then m_empZIP = New cField("viewEmployees", "x_empZIP", "empZIP", "tblEmployees.empZIP", 202, OleDbType.VarWChar, EW_DATATYPE_STRING,  0)
  780.                 Return m_empZIP
  781.             End Get
  782.         End Property
  783.  
  784.         ' empPhone
  785.         Private m_empPhone As cField
  786.  
  787.         Public ReadOnly Property empPhone() As cField
  788.             Get
  789.                 If m_empPhone Is Nothing Then m_empPhone = New cField("viewEmployees", "x_empPhone", "empPhone", "tblEmployees.empPhone", 202, OleDbType.VarWChar, EW_DATATYPE_STRING,  0)
  790.                 Return m_empPhone
  791.             End Get
  792.         End Property
  793.  
  794.         ' empEmail
  795.         Private m_empEmail As cField
  796.  
  797.         Public ReadOnly Property empEmail() As cField
  798.             Get
  799.                 If m_empEmail Is Nothing Then m_empEmail = New cField("viewEmployees", "x_empEmail", "empEmail", "tblEmployees.empEmail", 202, OleDbType.VarWChar, EW_DATATYPE_STRING,  0)
  800.                 Return m_empEmail
  801.             End Get
  802.         End Property
  803.  
  804.         ' empUserPass
  805.         Private m_empUserPass As cField
  806.  
  807.         Public ReadOnly Property empUserPass() As cField
  808.             Get
  809.                 If m_empUserPass Is Nothing Then m_empUserPass = New cField("viewEmployees", "x_empUserPass", "empUserPass", "tblEmployees.empUserPass", 202, OleDbType.VarWChar, EW_DATATYPE_STRING,  0)
  810.                 Return m_empUserPass
  811.             End Get
  812.         End Property
  813.  
  814.         ' Table level events
  815.         ' Recordset Selecting event
  816.         Public Sub Recordset_Selecting(ByRef filter As String) 
  817.  
  818.             ' Enter your code here    
  819.         End Sub
  820.  
  821.         ' Recordset Selected event
  822.         Public Sub Recordset_Selected(rs As DbDataReader)
  823.  
  824.             'HttpContext.Current.Response.Write("Recordset Selected")
  825.         End Sub
  826.  
  827.         ' Recordset Searching event
  828.         Public Sub Recordset_Searching(ByRef filter As String)
  829.  
  830.             ' Enter your code here
  831.         End Sub
  832.  
  833.         ' Row_Selecting event
  834.         Public Sub Row_Selecting(ByRef filter As String)
  835.  
  836.             ' Enter your code here    
  837.         End Sub
  838.  
  839.         ' Row Selected event
  840.         Public Sub Row_Selected(rs As DbDataReader)
  841.  
  842.             'HttpContext.Current.Response.Write("Row Selected")
  843.         End Sub
  844.  
  845.         ' Row Rendering event
  846.         Public Sub Row_Rendering()
  847.  
  848.             ' Enter your code here    
  849.         End Sub
  850.  
  851.         ' Row Rendered event
  852.         Public Sub Row_Rendered()
  853.  
  854.             ' To view properties of field class, use:
  855.             ' HttpContext.Current.Response.Write(<FieldName>.AsString())
  856.  
  857.         End Sub
  858.  
  859.         ' Row Inserting event
  860.         Public Function Row_Inserting(ByRef rs As OrderedDictionary) As Boolean
  861.  
  862.             ' Enter your code here
  863.             ' To cancel, set return value to False and error message to CancelMessage
  864.  
  865.             Return True
  866.         End Function
  867.  
  868.         ' Row Inserted event
  869.         Public Sub Row_Inserted(rs As OrderedDictionary)
  870.  
  871.             'HttpContext.Current.Response.Write("Row Inserted")
  872.         End Sub
  873.  
  874.         ' Row Updating event
  875.         Public Function Row_Updating(rsold As OrderedDictionary, ByRef rsnew As OrderedDictionary) As Boolean
  876.  
  877.             ' Enter your code here
  878.             ' To cancel, set return value to False and error message to CancelMessage
  879.  
  880.             Return True
  881.         End Function
  882.  
  883.         ' Row Updated event
  884.         Public Sub Row_Updated(rsold As OrderedDictionary, rsnew As OrderedDictionary)
  885.  
  886.             'HttpContext.Current.Response.Write("Row Updated")
  887.         End Sub
  888.  
  889.         ' Recordset Deleting event
  890.         Public Function Row_Deleting(rs As OrderedDictionary) As Boolean
  891.  
  892.             ' Enter your code here
  893.             ' To cancel, set return value to False and error message to CancelMessage
  894.  
  895.             Return True
  896.         End Function
  897.  
  898.         ' Recordset Deleted event
  899.         Public Sub Row_Deleted(rs As OrderedDictionary)
  900.  
  901.             'HttpContext.Current.Response.Write("Row Deleted")
  902.         End Sub
  903.  
  904.         ' Email Sending event
  905.         Public Function Email_Sending(ByRef Email As cEmail, Args As Hashtable) As Boolean
  906.  
  907.             'HttpContext.Current.Response.Write(Email.AsString())
  908.             'HttpContext.Current.Response.End()
  909.  
  910.             Return True
  911.         End Function
  912.  
  913.         ' Class terminate
  914.         Public Sub Dispose() Implements IDisposable.Dispose
  915.             If m_empID IsNot Nothing Then m_empID.Dispose()
  916.             If m_empPayrollNumber IsNot Nothing Then m_empPayrollNumber.Dispose()
  917.             If m_empUsername IsNot Nothing Then m_empUsername.Dispose()
  918.             If m_empName IsNot Nothing Then m_empName.Dispose()
  919.             If m_empFirstName IsNot Nothing Then m_empFirstName.Dispose()
  920.             If m_empLastName IsNot Nothing Then m_empLastName.Dispose()
  921.             If m_empAddress IsNot Nothing Then m_empAddress.Dispose()
  922.             If m_empCity IsNot Nothing Then m_empCity.Dispose()
  923.             If m_empState IsNot Nothing Then m_empState.Dispose()
  924.             If m_empZIP IsNot Nothing Then m_empZIP.Dispose()
  925.             If m_empPhone IsNot Nothing Then m_empPhone.Dispose()
  926.             If m_empEmail IsNot Nothing Then m_empEmail.Dispose()
  927.             If m_empUserPass IsNot Nothing Then m_empUserPass.Dispose()
  928.         End Sub
  929.     End Class
  930. End Class
  931.