home *** CD-ROM | disk | FTP | other *** search
/ 66.142.0.142 / 66.142.0.142.tar / 66.142.0.142 / ltgFixtureNoteTypedelete.aspx.vb < prev    next >
Text File  |  2014-01-25  |  14KB  |  527 lines

  1. Imports System.Data
  2. Imports System.Data.Common
  3. Imports System.Xml
  4. Imports System.IO
  5. Imports System.Data.OleDb
  6.  
  7. '
  8. ' ASP.NET code-behind class (Page)
  9. '
  10.  
  11. Partial Class ltgFixtureNoteTypedelete
  12.     Inherits AspNetMaker7_tfpssnet
  13.  
  14.     ' Page object
  15.     Public ltgFixtureNoteType_delete As cltgFixtureNoteType_delete
  16.  
  17.     '
  18.     ' Page Class
  19.     '
  20.     Class cltgFixtureNoteType_delete
  21.         Inherits AspNetMakerPage
  22.         Implements IDisposable        
  23.  
  24.         ' Used by system generated functions
  25.         Private RsWrk As Object, sSqlWrk As String, sWhereWrk As String
  26.  
  27.         Private arwrk As Object
  28.  
  29.         Private armultiwrk() As String        
  30.  
  31.         ' Page URL
  32.         Public ReadOnly Property PageUrl() As String
  33.             Get
  34.                 Dim Url As String = ew_CurrentPage() & "?"
  35.                 If ltgFixtureNoteType.UseTokenInUrl Then Url = Url & "t=" & ltgFixtureNoteType.TableVar & "&" ' Add page token
  36.                 Return Url    
  37.             End Get
  38.         End Property
  39.  
  40.         ' Validate page request
  41.         Public Function IsPageRequest() As Boolean
  42.             Dim Result As Boolean
  43.             If ltgFixtureNoteType.UseTokenInUrl Then
  44.                 Result = False
  45.                 If ObjForm IsNot Nothing Then
  46.                     Result = (ltgFixtureNoteType.TableVar = ObjForm.GetValue("t"))
  47.                 End If
  48.                 If ew_Get("t") <> "" Then
  49.                     Result = (ltgFixtureNoteType.TableVar = ew_Get("t"))
  50.                 End If
  51.                 Return Result
  52.             End If
  53.             Return True            
  54.         End Function    
  55.  
  56.         ' ltgFixtureNoteType
  57.         Public Property ltgFixtureNoteType() As cltgFixtureNoteType
  58.             Get                
  59.                 Return ParentPage.ltgFixtureNoteType
  60.             End Get
  61.             Set(ByVal v As cltgFixtureNoteType)
  62.                 ParentPage.ltgFixtureNoteType = v    
  63.             End Set    
  64.         End Property
  65.  
  66.         ' ltgFixtureNoteType
  67.         Public Property tblEmployees() As ctblEmployees
  68.             Get                
  69.                 Return ParentPage.tblEmployees
  70.             End Get
  71.             Set(ByVal v As ctblEmployees)
  72.                 ParentPage.tblEmployees = v    
  73.             End Set    
  74.         End Property
  75.  
  76.         '
  77.         '  Constructor
  78.         '  - init objects
  79.         '  - open connection
  80.         '
  81.         Public Sub New(ByRef APage As AspNetMaker7_tfpssnet)                
  82.             m_ParentPage = APage
  83.             m_Page = Me    
  84.             m_PageID = "delete"
  85.             m_PageObjName = "ltgFixtureNoteType_delete"
  86.             m_PageObjTypeName = "cltgFixtureNoteType_delete"
  87.  
  88.             ' Table Name
  89.             m_TableName = "ltgFixtureNoteType"
  90.  
  91.             ' Initialize table object
  92.             ltgFixtureNoteType = New cltgFixtureNoteType(Me)
  93.             tblEmployees = New ctblEmployees(Me)
  94.  
  95.             ' Connect to database
  96.             Conn = New cConnection()
  97.         End Sub
  98.  
  99.         '
  100.         '  Subroutine Page_Init
  101.         '  - called before page main
  102.         '  - check Security
  103.         '  - set up response header
  104.         '  - call page load events
  105.         '
  106.         Public Sub Page_Init()
  107.             Security = New cAdvancedSecurity(Me)
  108.             If Not Security.IsLoggedIn() Then Security.AutoLogin()
  109.             If Not Security.IsLoggedIn() Then
  110.                 Security.SaveLastUrl()
  111.                 Page_Terminate("login.aspx")
  112.             End If
  113.  
  114.             ' Table Permission loading event
  115.             Security.TablePermission_Loading()
  116.             Security.LoadCurrentUserLevel(TableName)
  117.  
  118.             ' Table Permission loaded event
  119.             Security.TablePermission_Loaded()
  120.             If Not Security.CanDelete Then
  121.                 Security.SaveLastUrl()
  122.                 Page_Terminate("ltgFixtureNoteTypelist.aspx")
  123.             End If
  124.  
  125.             ' User ID loading event
  126.             Security.UserID_Loading()
  127.             If Security.IsLoggedIn() Then Call Security.LoadUserID()
  128.  
  129.             ' User ID loaded event
  130.             Security.UserID_Loaded()
  131.  
  132.             ' Global page loading event (in ewglobal*.vb)
  133.             ParentPage.Page_Loading()
  134.  
  135.             ' Page load event, used in current page
  136.             Page_Load()
  137.         End Sub
  138.  
  139.         '
  140.         '  Class terminate
  141.         '  - clean up page object
  142.         '
  143.         Public Sub Dispose() Implements IDisposable.Dispose
  144.             Page_Terminate("")
  145.         End Sub
  146.  
  147.         '
  148.         '  Sub Page_Terminate
  149.         '  - called when exit page
  150.         '  - clean up connection and objects
  151.         '  - if URL specified, redirect to URL
  152.         '
  153.         Sub Page_Terminate(url As String)
  154.  
  155.             ' Page unload event, used in current page
  156.             Page_Unload()
  157.  
  158.             ' Global page unloaded event (in ewglobal*.vb)
  159.             ParentPage.Page_Unloaded()
  160.  
  161.             ' Close connection
  162.             Conn.Dispose()
  163.             Security = Nothing
  164.             ltgFixtureNoteType.Dispose()
  165.             tblEmployees.Dispose()
  166.  
  167.             ' Go to URL if specified
  168.             If url <> "" Then
  169.                 HttpContext.Current.Response.Clear()
  170.                 HttpContext.Current.Response.Redirect(url)
  171.             End If
  172.         End Sub
  173.  
  174.     Public lTotalRecs As Integer
  175.  
  176.     Public lRecCnt As Integer
  177.  
  178.     Public arRecKeys() As String
  179.  
  180.     '
  181.     ' Page main processing
  182.     '
  183.     Sub Page_Main()
  184.         Dim sKey As String = ""
  185.         Dim bSingleDelete As Boolean = True ' Initialize as single delete
  186.         Dim nKeySelected As Integer = 0 ' Initialize selected key count
  187.         Dim sKeyFld As String, arKeyFlds() As String
  188.         Dim sFilter As String        
  189.  
  190.         ' Load Key Parameters
  191.         If ew_Get("ntyID") <> "" Then
  192.             ltgFixtureNoteType.ntyID.QueryStringValue = ew_Get("ntyID")
  193.             If Not IsNumeric(ltgFixtureNoteType.ntyID.QueryStringValue) Then
  194.             Page_Terminate("ltgFixtureNoteTypelist.aspx") ' Prevent SQL injection, return to list
  195.             End If
  196.             sKey = sKey & ltgFixtureNoteType.ntyID.QueryStringValue
  197.         Else
  198.             bSingleDelete = False
  199.         End If
  200.         If bSingleDelete Then
  201.             nKeySelected = 1 ' Set up key selected count
  202.             Array.Resize(arRecKeys, 1) ' Set up key
  203.             arRecKeys(0) = sKey
  204.         Else
  205.             If HttpContext.Current.Request.Form("key_m") IsNot Nothing Then ' Key in form
  206.                 arRecKeys = HttpContext.Current.Request.Form.GetValues("key_m")
  207.                 nKeySelected = arRecKeys.Length                
  208.             End If
  209.         End If
  210.         If nKeySelected <= 0 Then Page_Terminate("ltgFixtureNoteTypelist.aspx") ' No key specified, return to list
  211.  
  212.         ' Build filter
  213.         For i As Integer = 0 to arRecKeys.GetUpperBound(0)
  214.             sKey = arRecKeys(i).Trim()
  215.             sFilter = sFilter & "("
  216.  
  217.             ' Set up key field
  218.             sKeyFld = sKey
  219.             If Not IsNumeric(sKeyFld) Then Page_Terminate("ltgFixtureNoteTypelist.aspx") ' Prevent SQL injection, return to list
  220.             sFilter = sFilter & "[ntyID]=" & ew_AdjustSql(sKeyFld) & " AND "
  221.             If sFilter.EndsWith(" AND ") Then sFilter = sFilter.Substring(0, sFilter.Length-5) & ") OR "
  222.         Next
  223.         If sFilter.EndsWith(" OR ") Then sFilter = sFilter.Substring(0, sFilter.Length-4)
  224.  
  225.         ' Set up filter (SQL WHERE clause)
  226.         ' SQL constructor in ltgFixtureNoteType class, ltgFixtureNoteTypeinfo.aspx
  227.  
  228.         ltgFixtureNoteType.CurrentFilter = sFilter
  229.  
  230.         ' Get action
  231.         If ew_Post("a_delete") <> "" Then
  232.             ltgFixtureNoteType.CurrentAction = ew_Post("a_delete")
  233.         Else
  234.             ltgFixtureNoteType.CurrentAction = "I"    ' Display record
  235.         End If
  236.         Select Case ltgFixtureNoteType.CurrentAction
  237.             Case "D" ' Delete
  238.                 ltgFixtureNoteType.SendEmail = True ' Send email on delete success
  239.                 If DeleteRows() Then ' delete rows
  240.                     Message = "Delete succeeded" ' Set up success message
  241.                 Page_Terminate(ltgFixtureNoteType.ReturnUrl) ' Return to caller
  242.                 End If
  243.         End Select
  244.     End Sub
  245.  
  246.     '
  247.     '  Function DeleteRows
  248.     '  - Delete Records based on current filter
  249.     '
  250.     Function DeleteRows() As Boolean
  251.         Dim sKey As String, sThisKey As String, sKeyFld As String
  252.         Dim arKeyFlds() As String
  253.         Dim RsDelete As OleDbDataReader = Nothing
  254.         Dim sSql As String, sWrkFilter As String 
  255.         Dim RsOld As ArrayList
  256.         DeleteRows = True
  257.         sWrkFilter = ltgFixtureNoteType.CurrentFilter
  258.  
  259.         ' Set up filter (SQL WHERE Clause)
  260.         ' SQL constructor in ltgFixtureNoteType class, ltgFixtureNoteTypeinfo.aspx
  261.  
  262.         ltgFixtureNoteType.CurrentFilter = sWrkFilter
  263.         sSql = ltgFixtureNoteType.SQL
  264.         Conn.BeginTrans() ' Begin transaction
  265.         Try
  266.             RsDelete = Conn.GetDataReader(sSql)
  267.             If Not RsDelete.HasRows Then
  268.                 Message = "No records found" ' No record found
  269.                 RsDelete.Close()
  270.                 RsDelete.Dispose()                    
  271.                 Return False
  272.             End If
  273.         Catch e As Exception
  274.             If EW_DEBUG_ENABLED Then Throw
  275.             Message = e.Message
  276.             Return False
  277.         End Try
  278.  
  279.         ' Clone old rows
  280.         RsOld = Conn.GetRows(RsDelete)
  281.         RsDelete.Close()
  282.         RsDelete.Dispose()
  283.  
  284.         ' Call Row_Deleting event
  285.         If DeleteRows Then
  286.             For Each Row As OrderedDictionary in RsOld
  287.                 DeleteRows = ltgFixtureNoteType.Row_Deleting(Row)
  288.                 If Not DeleteRows Then Exit For
  289.             Next Row
  290.         End If
  291.         If DeleteRows Then
  292.             sKey = ""
  293.             For Each Row As OrderedDictionary in RsOld
  294.                 sThisKey = ""
  295.                 If sThisKey <> "" Then sThisKey = sThisKey & EW_COMPOSITE_KEY_SEPARATOR
  296.                 sThisKey = sThisKey & Convert.ToString(Row("ntyID"))
  297.                 Try
  298.                     ltgFixtureNoteType.Delete(Row)
  299.                 Catch e As Exception
  300.                     If EW_DEBUG_ENABLED Then Throw            
  301.                     Message = e.Message ' Set up error message
  302.                     DeleteRows = False
  303.                     Exit For
  304.                 End Try
  305.                 If sKey <> "" Then sKey = sKey & ", "
  306.                 sKey = sKey & sThisKey
  307.             Next Row
  308.         Else
  309.  
  310.             ' Set up error message
  311.             If ltgFixtureNoteType.CancelMessage <> "" Then
  312.                 Message = ltgFixtureNoteType.CancelMessage
  313.                 ltgFixtureNoteType.CancelMessage = ""
  314.             Else
  315.                 Message = "Delete cancelled"
  316.             End If
  317.         End If
  318.         If DeleteRows Then
  319.  
  320.             ' Commit the changes
  321.             Conn.CommitTrans()                
  322.  
  323.             ' Row deleted event
  324.             For Each Row As OrderedDictionary in RsOld
  325.                 ltgFixtureNoteType.Row_Deleted(Row)
  326.             Next
  327.         Else
  328.             Conn.RollbackTrans() ' Rollback transaction            
  329.         End If
  330.     End Function
  331.  
  332.     '
  333.     ' Load default values
  334.     '
  335.     Sub LoadDefaultValues()
  336.     End Sub
  337.  
  338.     '
  339.     ' Load recordset
  340.     '
  341.     Function LoadRecordset() As OleDbDataReader
  342.  
  343.         ' Recordset Selecting event
  344.         ltgFixtureNoteType.Recordset_Selecting(ltgFixtureNoteType.CurrentFilter)
  345.  
  346.         ' Load list page SQL
  347.         Dim sSql As String = ltgFixtureNoteType.ListSQL
  348.  
  349.         ' Write SQL for debug
  350.         If EW_DEBUG_ENABLED Then ew_Write(sSql)
  351.  
  352.         ' Count
  353.         lTotalRecs = -1        
  354.         Try            
  355.             If sSql.StartsWith("SELECT * FROM ", StringComparison.InvariantCultureIgnoreCase) AndAlso _                
  356.                 ew_Empty(ltgFixtureNoteType.SqlGroupBy) AndAlso _
  357.                 ew_Empty(ltgFixtureNoteType.SqlHaving) Then
  358.                 Dim sCntSql As String = ltgFixtureNoteType.SelectCountSQL
  359.  
  360.                 ' Write SQL for debug
  361.                 If EW_DEBUG_ENABLED Then ew_Write("<br>" & sCntSql)
  362.                 lTotalRecs = Conn.ExecuteScalar(sCntSql)
  363.             End If            
  364.         Catch
  365.         End Try
  366.  
  367.         ' Load recordset
  368.         Dim Rs As OleDbDataReader = Conn.GetDataReader(sSql)
  369.         If lTotalRecs < 0 AndAlso Rs.HasRows Then
  370.             lTotalRecs = 0
  371.             While Rs.Read()
  372.                 lTotalRecs = lTotalRecs + 1
  373.             End While
  374.             Rs.Close()        
  375.             Rs = Conn.GetDataReader(sSql)
  376.         End If
  377.  
  378.         ' Recordset Selected event
  379.         ltgFixtureNoteType.Recordset_Selected(Rs)
  380.         Return Rs
  381.     End Function
  382.  
  383.     '
  384.     ' Load row based on key values
  385.     '
  386.     Function LoadRow() As Boolean
  387.         Dim RsRow As OleDbDataReader
  388.         Dim sFilter As String = ltgFixtureNoteType.KeyFilter
  389.  
  390.         ' Row Selecting event
  391.         ltgFixtureNoteType.Row_Selecting(sFilter)
  392.  
  393.         ' Load SQL based on filter
  394.         ltgFixtureNoteType.CurrentFilter = sFilter
  395.         Dim sSql As String = ltgFixtureNoteType.SQL
  396.  
  397.         ' Write SQL for debug
  398.         If EW_DEBUG_ENABLED Then ew_Write(sSql)
  399.         Try
  400.             RsRow = Conn.GetTempDataReader(sSql)    
  401.             If Not RsRow.Read() Then
  402.                 Return False
  403.             Else                
  404.                 LoadRowValues(RsRow) ' Load row values
  405.  
  406.                 ' Row Selected event
  407.                 ltgFixtureNoteType.Row_Selected(RsRow)
  408.                 Return True    
  409.             End If
  410.         Catch
  411.             If EW_DEBUG_ENABLED Then Throw
  412.             Return False
  413.         Finally
  414.             Conn.CloseTempDataReader()
  415.         End Try
  416.     End Function
  417.  
  418.     '
  419.     ' Load row values from recordset
  420.     '
  421.     Sub LoadRowValues(ByRef RsRow As OleDbDataReader)
  422.         ltgFixtureNoteType.ntyID.DbValue = RsRow("ntyID")
  423.         ltgFixtureNoteType.ntyDescription.DbValue = RsRow("ntyDescription")
  424.         ltgFixtureNoteType.ntyIsActive.DbValue = IIf(ew_ConvertToBool(RsRow("ntyIsActive")), "1", "0")
  425.     End Sub
  426.  
  427.     '
  428.     ' Render row values based on field settings
  429.     '
  430.     Sub RenderRow()
  431.  
  432.         ' Row Rendering event
  433.         ltgFixtureNoteType.Row_Rendering()
  434.  
  435.         '
  436.         '  Common render codes for all row types
  437.         '
  438.         ' ntyDescription
  439.  
  440.         ltgFixtureNoteType.ntyDescription.CellCssStyle = ""
  441.         ltgFixtureNoteType.ntyDescription.CellCssClass = ""
  442.  
  443.         ' ntyIsActive
  444.         ltgFixtureNoteType.ntyIsActive.CellCssStyle = ""
  445.         ltgFixtureNoteType.ntyIsActive.CellCssClass = ""
  446.  
  447.         '
  448.         '  View  Row
  449.         '
  450.  
  451.         If ltgFixtureNoteType.RowType = EW_ROWTYPE_VIEW Then ' View row
  452.  
  453.             ' ntyID
  454.             ltgFixtureNoteType.ntyID.ViewValue = ltgFixtureNoteType.ntyID.CurrentValue
  455.             ltgFixtureNoteType.ntyID.CssStyle = ""
  456.             ltgFixtureNoteType.ntyID.CssClass = ""
  457.             ltgFixtureNoteType.ntyID.ViewCustomAttributes = ""
  458.  
  459.             ' ntyDescription
  460.             ltgFixtureNoteType.ntyDescription.ViewValue = ltgFixtureNoteType.ntyDescription.CurrentValue
  461.             ltgFixtureNoteType.ntyDescription.CssStyle = ""
  462.             ltgFixtureNoteType.ntyDescription.CssClass = ""
  463.             ltgFixtureNoteType.ntyDescription.ViewCustomAttributes = ""
  464.  
  465.             ' ntyIsActive
  466.             If Convert.ToString(ltgFixtureNoteType.ntyIsActive.CurrentValue) = "1" Then
  467.                 ltgFixtureNoteType.ntyIsActive.ViewValue = "Yes"
  468.             Else
  469.                 ltgFixtureNoteType.ntyIsActive.ViewValue = "No"
  470.             End If
  471.             ltgFixtureNoteType.ntyIsActive.CssStyle = ""
  472.             ltgFixtureNoteType.ntyIsActive.CssClass = ""
  473.             ltgFixtureNoteType.ntyIsActive.ViewCustomAttributes = ""
  474.  
  475.             ' View refer script
  476.             ' ntyDescription
  477.  
  478.             ltgFixtureNoteType.ntyDescription.HrefValue = ""
  479.  
  480.             ' ntyIsActive
  481.             ltgFixtureNoteType.ntyIsActive.HrefValue = ""
  482.         End If
  483.  
  484.         ' Row Rendered event
  485.         ltgFixtureNoteType.Row_Rendered()
  486.     End Sub
  487.  
  488.         ' Page Load event
  489.         Public Sub Page_Load()
  490.  
  491.             'HttpContext.Current.Response.Write("Page Load")
  492.         End Sub
  493.  
  494.         ' Page Unload event
  495.         Public Sub Page_Unload()
  496.  
  497.             'HttpContext.Current.Response.Write("Page Unload")
  498.         End Sub
  499.     End Class
  500.  
  501.     '
  502.     ' ASP.NET Page_Load event
  503.     '
  504.  
  505.     Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  506.         Response.Buffer = EW_RESPONSE_BUFFER
  507.         Response.Cache.SetCacheability(HttpCacheability.NoCache)
  508.  
  509.         ' Page init
  510.         ltgFixtureNoteType_delete = New cltgFixtureNoteType_delete(Me)        
  511.         ltgFixtureNoteType_delete.Page_Init()
  512.  
  513.         ' Page main processing
  514.         ltgFixtureNoteType_delete.Page_Main()
  515.     End Sub
  516.  
  517.     '
  518.     ' ASP.NET Page_Unload event
  519.     '
  520.  
  521.     Protected Sub Page_Unload(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Unload
  522.  
  523.         ' Dispose page object
  524.         If ltgFixtureNoteType_delete IsNot Nothing Then ltgFixtureNoteType_delete.Dispose()
  525.     End Sub
  526. End Class
  527.