home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 3_2004-2005.ISO / Data / Zips / Activity_L18345412302004.psc / clsdata.cls < prev    next >
Text File  |  2004-10-19  |  14KB  |  487 lines

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4.   Persistable = 0  'NotPersistable
  5.   DataBindingBehavior = 0  'vbNone
  6.   DataSourceBehavior  = 0  'vbNone
  7.   MTSTransactionMode  = 0  'NotAnMTSObject
  8. END
  9. Attribute VB_Name = "clsData"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. Option Explicit
  15.  
  16. Dim cmdData     As New ADODB.Command
  17. Dim cnnData     As New ADODB.Connection
  18.  
  19. Function CheckPassword(ByVal strUserName As String, ByVal strPassword As String) As Long
  20.  
  21.     On Error GoTo excHandler
  22.     
  23.     SetSQLServerProperties cnnData, True
  24.     
  25.     With cmdData
  26.         .CommandType = adCmdStoredProc
  27.         .CommandText = "prCheckPassword"
  28.         .ActiveConnection = cnnData
  29.         .Parameters.Refresh
  30.     
  31.         .Parameters("@strUserName").Value = strUserName
  32.         .Parameters("@strPassword").Value = strPassword
  33.         
  34.         .Execute
  35.         
  36.         If Not IsNull(.Parameters("@intUserID")) Then
  37.             CheckPassword = .Parameters("@intUserID")
  38.         Else
  39.             CheckPassword = 0
  40.         End If
  41.     End With
  42.  
  43. ExitFunction:
  44.  
  45.     Set cmdData = Nothing
  46.     Set cnnData = Nothing
  47.  
  48.     Exit Function
  49.     
  50. excHandler:
  51.  
  52.     LogException "CheckPassword", Err.Number, Err.Description, "User name: " & strUserName, True
  53.     
  54.     CheckPassword = -1
  55.     
  56.     Resume ExitFunction
  57.  
  58. End Function
  59.  
  60.  
  61. Public Function GetUser(ByVal lngUserID As Long) As String
  62.     
  63.     Dim cnnUser     As New ADODB.Connection
  64.     Dim cmdUser     As New ADODB.Command
  65.     Dim rstUser     As New ADODB.Recordset
  66.     
  67.     On Error GoTo excHandler
  68.     
  69.     SetSQLServerProperties cnnUser, True
  70.         
  71.     With cmdUser
  72.         .CommandType = adCmdStoredProc
  73.         .CommandText = "prGetUser"
  74.         .ActiveConnection = cnnUser
  75.         .Parameters.Refresh
  76.         .Parameters("@intUserID").Value = lngUserID
  77.         Set rstUser = .Execute
  78.     End With
  79.     
  80.     If rstUser.RecordCount = 1 Then
  81.         GetUser = rstUser("strUserFirstName") & " " & rstUser("strUserLastName")
  82.     Else
  83.         GetUser = ""
  84.     End If
  85.  
  86. ExitFunction:
  87.  
  88.     Set cmdUser = Nothing
  89.     Set rstUser = Nothing
  90.     Set cnnUser = Nothing
  91.  
  92.     Exit Function
  93.  
  94. excHandler:
  95.  
  96.     LogException "GetUser", Err.Number, Err.Description, "User ID: " & lngUserID, True
  97.     Resume ExitFunction
  98.  
  99. End Function
  100.  
  101.  
  102. Public Function InsertActivity(ByVal intUserID As Long, _
  103.                                ByVal intProjectID As Long, _
  104.                                ByVal intActivityTypeID As Long, _
  105.                                ByVal strActivity As String) As Long
  106.  
  107.     On Error GoTo excHandler
  108.     
  109.     Dim cnnActivity As New ADODB.Connection
  110.     Dim cmdActivity As New ADODB.Command
  111.     
  112.     SetSQLServerProperties cnnActivity, True
  113.     
  114.     With cmdActivity
  115.         .CommandType = adCmdStoredProc
  116.         .CommandText = "prInsertActivity"
  117.         .ActiveConnection = cnnActivity
  118.         .Parameters.Refresh
  119.         .Parameters("@intUserID").Value = intUserID
  120.         .Parameters("@intProjectID").Value = intProjectID
  121.         .Parameters("@intActivityTypeID").Value = intActivityTypeID
  122.         .Parameters("@strActivity").Value = strActivity
  123.         .Execute
  124.         If IsNull(.Parameters("@intActivityID").Value) Then
  125.             InsertActivity = 0
  126.         Else
  127.             InsertActivity = .Parameters("@intActivityID").Value
  128.         End If
  129.     End With
  130.         
  131. ExitFunction:
  132.     
  133.     Set cmdActivity = Nothing
  134.     Set cnnActivity = Nothing
  135.  
  136.     Exit Function
  137.  
  138. excHandler:
  139.     
  140.     LogException "InsertActivity", Err.Number, Err.Description, "User ID: " & intUserID & ", Project ID: " & intProjectID & ", Activity Type ID: " & intActivityTypeID & ", Date: " & Now & ", The activity is: " & vbNewLine & strActivity, True
  141.  
  142.     Resume ExitFunction
  143.  
  144. End Function
  145.         
  146.  
  147. Public Function UpdateActivity(ByVal intActivityID As Long, _
  148.                                ByVal intActivityTotalTimeSec As Long) As Long
  149.  
  150.     On Error GoTo excHandler
  151.     
  152.     Dim cnnActivity As New ADODB.Connection
  153.     Dim cmdActivity As New ADODB.Command
  154.     Dim lngRecs  As Long
  155.     
  156.     SetSQLServerProperties cnnActivity, True
  157.     
  158.     With cmdActivity
  159.         .CommandType = adCmdStoredProc
  160.         .CommandText = "prUpdateActivity"
  161.         .ActiveConnection = cnnActivity
  162.         .Parameters.Refresh
  163.         .Parameters("@intActivityID").Value = intActivityID
  164.         .Parameters("@intActivityTotalTimeSec").Value = intActivityTotalTimeSec
  165.         .Execute lngRecs
  166.     End With
  167.         
  168. ExitFunction:
  169.     
  170.     Set cmdActivity = Nothing
  171.     Set cnnActivity = Nothing
  172.  
  173.     Exit Function
  174.  
  175. excHandler:
  176.     
  177.     LogException "UpdateActivity", Err.Number, Err.Description, "Activity ID: " & intActivityID & ", Date: " & Now & ", The activity time total in seconds: " & intActivityTotalTimeSec, True
  178.  
  179.     Resume ExitFunction
  180.  
  181. End Function
  182.  
  183.  
  184.  
  185. Public Function InsertPause(ByVal intUserID As Long, _
  186.                             ByVal intActivityID As Long, _
  187.                             ByVal intPauseCauseID As Long, _
  188.                             ByVal strPauseCauseDetail As String) As Long
  189.  
  190.     On Error GoTo excHandler
  191.     
  192.     Dim cnnPause As New ADODB.Connection
  193.     Dim cmdPause As New ADODB.Command
  194.     
  195.     SetSQLServerProperties cnnPause, True
  196.     
  197.     With cmdPause
  198.         .CommandType = adCmdStoredProc
  199.         .CommandText = "prInsertPause"
  200.         .ActiveConnection = cnnPause
  201.         .Parameters.Refresh
  202.         .Parameters("@intUserID").Value = intUserID
  203.         .Parameters("@intActivityID").Value = intActivityID
  204.         .Parameters("@intPauseCauseID").Value = intPauseCauseID
  205.         .Parameters("@strPauseCauseDetail").Value = strPauseCauseDetail
  206.         .Execute
  207.         If IsNull(.Parameters("@intPauseID").Value) Then
  208.             InsertPause = 0
  209.         Else
  210.             InsertPause = .Parameters("@intPauseID").Value
  211.         End If
  212.     End With
  213.         
  214. ExitFunction:
  215.     
  216.     Set cmdPause = Nothing
  217.     Set cnnPause = Nothing
  218.  
  219.     Exit Function
  220.  
  221. excHandler:
  222.     
  223.     LogException "InsertPause", Err.Number, Err.Description, "User ID: " & intUserID & ", Activity ID: " & intActivityID & ", Date: " & Now & ", The pause cause is: " & vbNewLine & strPauseCauseDetail, True
  224.  
  225.     Resume ExitFunction
  226.  
  227. End Function
  228.  
  229. Public Function UpdatePause(ByVal intPauseID As Long, _
  230.                             ByVal intPauseTotalTimeSec As Long) As Long
  231.  
  232.     On Error GoTo excHandler
  233.     
  234.     Dim cnnPause As New ADODB.Connection
  235.     Dim cmdPause As New ADODB.Command
  236.     Dim lngRecs  As Long
  237.     
  238.     SetSQLServerProperties cnnPause, True
  239.     
  240.     With cmdPause
  241.         .CommandType = adCmdStoredProc
  242.         .CommandText = "prUpdatePause"
  243.         .ActiveConnection = cnnPause
  244.         .Parameters.Refresh
  245.         .Parameters("@intPauseID").Value = intPauseID
  246.         .Parameters("@intPauseTotalTimeSec").Value = intPauseTotalTimeSec
  247.         .Execute lngRecs
  248.     End With
  249.         
  250. ExitFunction:
  251.     
  252.     Set cmdPause = Nothing
  253.     Set cnnPause = Nothing
  254.  
  255.     Exit Function
  256.  
  257. excHandler:
  258.     
  259.     LogException "UpdatePause", Err.Number, Err.Description, "Pause ID: " & intPauseID & ", Date: " & Now & ", The pause time total in seconds: " & intPauseTotalTimeSec, True
  260.  
  261.     Resume ExitFunction
  262.  
  263. End Function
  264.  
  265. Public Function InsertLogin(ByVal strUserName As String, _
  266.                             ByVal blnPassCorrect As Boolean, _
  267.                             ByVal strRemoteIP As String) As Long
  268.  
  269.     On Error GoTo excHandler
  270.     
  271.     Dim cnnLogin As New ADODB.Connection
  272.     Dim cmdLogin As New ADODB.Command
  273.     
  274.     SetSQLServerProperties cnnLogin, True
  275.     
  276.     With cmdLogin
  277.         .CommandType = adCmdStoredProc
  278.         .CommandText = "prInsertLogin"
  279.         .ActiveConnection = cnnLogin
  280.         .Parameters.Refresh
  281.         .Parameters("@strUserName").Value = strUserName
  282.         .Parameters("@bitPassCorrect").Value = CLng(IIf(blnPassCorrect, 1, 0))
  283.         .Parameters("@strRemoteIP").Value = strRemoteIP
  284.         .Execute
  285.         If IsNull(.Parameters("@intLoginID").Value) Then
  286.             InsertLogin = 0
  287.         Else
  288.             InsertLogin = .Parameters("@intLoginID").Value
  289.         End If
  290.     End With
  291.         
  292. ExitFunction:
  293.     
  294.     Set cmdLogin = Nothing
  295.     Set cnnLogin = Nothing
  296.  
  297.     Exit Function
  298.  
  299. excHandler:
  300.     
  301.     LogException "InsertLogin", Err.Number, Err.Description, "User Name: " & strUserName & ", Pass is Correct: " & blnPassCorrect & ", Date: " & Now & ", The Remote IP is: " & strRemoteIP, True
  302.  
  303.     Resume ExitFunction
  304.  
  305. End Function
  306.  
  307.  
  308. Public Function InsertLogOut(ByVal intUserID As Long, _
  309.                              ByVal intLoginID As Long, _
  310.                              ByVal blnNormalLogOut As Boolean) As Long
  311.  
  312.     On Error GoTo excHandler
  313.     
  314.     Dim cnnLogOut As New ADODB.Connection
  315.     Dim cmdLogOut As New ADODB.Command
  316.     
  317.     SetSQLServerProperties cnnLogOut, True
  318.     
  319.     With cmdLogOut
  320.         .CommandType = adCmdStoredProc
  321.         .CommandText = "prInsertLogOut"
  322.         .ActiveConnection = cnnLogOut
  323.         .Parameters.Refresh
  324.         .Parameters("@intUserID").Value = intUserID
  325.         .Parameters("@intLoginID").Value = intLoginID
  326.         .Parameters("@bitNormalLogOut").Value = CLng(IIf(blnNormalLogOut, 1, 0))
  327.         .Execute
  328.     End With
  329.         
  330. ExitFunction:
  331.     
  332.     Set cmdLogOut = Nothing
  333.     Set cnnLogOut = Nothing
  334.  
  335.     Exit Function
  336.  
  337. excHandler:
  338.     
  339.     LogException "InsertLogOut", Err.Number, Err.Description, "User ID: " & intUserID & ", Login ID: " & intLoginID & ", LogOut was normal: " & blnNormalLogOut & ", Date: " & Now, True
  340.  
  341.     Resume ExitFunction
  342.  
  343. End Function
  344.  
  345. Public Function GetApplicationData(ByRef rstResult As ADODB.Recordset, ByVal lngDataType As ApplicationDataTypes) As Long
  346.     
  347.     On Error GoTo excHandler
  348.     
  349.     Dim cnnAppData As New ADODB.Connection
  350.     Dim cmdAppData As New ADODB.Command
  351.     
  352.     SetSQLServerProperties cnnAppData, True
  353.     
  354.     With cmdAppData
  355.         .CommandType = adCmdStoredProc
  356.         .ActiveConnection = cnnAppData
  357.         Select Case lngDataType
  358.             Case APP_DATA_TYPE_USERS
  359.                 .CommandText = "prGetUsers"
  360.             Case APP_DATA_TYPE_PROJECTS
  361.                 .CommandText = "prGetProjects"
  362.             Case APP_DATA_TYPE_ACTIVITY_TYPES
  363.                 .CommandText = "prGetActivityTypes"
  364.             Case APP_DATA_TYPE_PAUSE_CAUSES
  365.                 .CommandText = "prGetPauseCauses"
  366.         End Select
  367.         Set rstResult = .Execute
  368.         Set rstResult.ActiveConnection = Nothing
  369.     End With
  370.         
  371. ExitFunction:
  372.     
  373.     Set cmdAppData = Nothing
  374.     Set cnnAppData = Nothing
  375.  
  376.     Exit Function
  377.  
  378. excHandler:
  379.     
  380.     LogException "GetApplicationData", Err.Number, Err.Description, "", True
  381.  
  382.     Resume ExitFunction
  383.  
  384. End Function
  385.  
  386.  
  387.  
  388. Public Function GetActivityReports(ByVal dtmAcitivityDayStart As Date, _
  389.                                    ByVal dtmAcitivityDayEnd As Date, _
  390.                                    Optional ByVal intUserID As Long = 0) As String
  391.  
  392.     On Error GoTo excHandler
  393.     
  394.     Dim cnnDailyReport  As New ADODB.Connection
  395.     Dim cmdDailyReport  As New ADODB.Command
  396.     Dim rstResult       As New ADODB.Recordset
  397.     Dim lngRecs         As Long
  398.     
  399.     SetSQLServerProperties cnnDailyReport, True
  400.     
  401.     With cmdDailyReport
  402.         .CommandType = adCmdStoredProc
  403.         .ActiveConnection = cnnDailyReport
  404.         If intUserID > 0 Then
  405.             .CommandText = "prReportsGetUserDailyActivityReport"
  406.         Else
  407.             .CommandText = "prReportsGetAllDailyActivityReports"
  408.         End If
  409.         .Parameters.Refresh
  410.         .Parameters("@dtmDayStart").Value = Format(dtmAcitivityDayStart, "yyyymmdd") & " 00:00:01"
  411.         .Parameters("@dtmDayEnd").Value = Format(dtmAcitivityDayEnd, "yyyymmdd") & " 23:59:59"
  412.         If intUserID > 0 Then
  413.             .Parameters("@intUserID").Value = intUserID
  414.         End If
  415.         Set rstResult = .Execute(lngRecs)
  416.         Set rstResult.ActiveConnection = Nothing
  417.         
  418.         'If lngRecs > 0 Then
  419.         If Not (rstResult.EOF And rstResult.BOF) Then
  420.             GetActivityReports = rstResult.GetString(StringFormatEnum.adClipString, , Chr(2), Chr(1))
  421.         End If
  422.         'End If
  423.         
  424.     End With
  425.         
  426. ExitFunction:
  427.     
  428.     Set cmdDailyReport = Nothing
  429.     Set cnnDailyReport = Nothing
  430.  
  431.     Exit Function
  432.  
  433. excHandler:
  434.     
  435.     LogException "GetActivityReports", Err.Number, Err.Description, "Activity Day: " & dtmAcitivityDayStart & " - " & dtmAcitivityDayEnd & ", User ID: " & intUserID, True
  436.  
  437.     Resume ExitFunction
  438.  
  439. End Function
  440.  
  441.  
  442. Public Function GetPauseReports(ByRef rstResult As ADODB.Recordset, _
  443.                                 ByVal dtmPauseDay As Date, _
  444.                                 Optional ByVal intUserID As Long = 0) As Long
  445.  
  446.     On Error GoTo excHandler
  447.     
  448.     Dim cnnDailyReport As New ADODB.Connection
  449.     Dim cmdDailyReport As New ADODB.Command
  450.     
  451.     SetSQLServerProperties cnnDailyReport, True
  452.     
  453.     With cmdDailyReport
  454.         .CommandType = adCmdStoredProc
  455.         .ActiveConnection = cnnDailyReport
  456.         If intUserID > 0 Then
  457.             .CommandText = "prReportsGetUserDailyPauseReport"
  458.         Else
  459.             .CommandText = "prReportsGetAllDailyPauseReports"
  460.         End If
  461.         .Parameters.Refresh
  462.         .Parameters("@dtmDay").Value = Format(dtmPauseDay, "yyyymmdd")
  463.         If intUserID > 0 Then
  464.             .Parameters("@intUserID").Value = intUserID
  465.         End If
  466.         Set rstResult = .Execute
  467.         Set rstResult.ActiveConnection = Nothing
  468.     End With
  469.         
  470. ExitFunction:
  471.     
  472.     Set cmdDailyReport = Nothing
  473.     Set cnnDailyReport = Nothing
  474.  
  475.     Exit Function
  476.  
  477. excHandler:
  478.     
  479.     LogException "GetPauseReports", Err.Number, Err.Description, "Activity Day: " & dtmPauseDay & ", User ID: " & intUserID, True
  480.  
  481.     Resume ExitFunction
  482.  
  483. End Function
  484.  
  485.  
  486.  
  487.