asp.net访问word的类,有你需要的替换,查找,表格很多功能!vb

类别:.NET开发 点击:0 评论:0 推荐:


Imports System
Imports System.Data
Imports System.Configuration
Public Class ttuser
    '****************************************************************************
    '
    ' TTUser Class
    '
    ' The TTUser class represents a Time Tracker user, including their unique
    ' userID and UserName.  Custom role information retrieved from the database
    ' is also stored in the TTUser class.
    '
    '****************************************************************************


    Public Const UserRoleNone As String = "0"
    Public Const UserRoleAdministrator As String = "1"
    Public Const UserRoleProjectManager As String = "2"
    Public Const UserRoleConsultant As String = "3"
    Public Const UserRoleAdminPMgr As String = UserRoleAdministrator + "," + UserRoleProjectManager
    Public Const UserRolePMgrConsultant As String = UserRoleProjectManager + "," + UserRoleConsultant

    Private _displayName As String = String.Empty
    Private _firstName As String = String.Empty
    Private _lastName As String = String.Empty
    Private _password As String = String.Empty
    Private _role As String = UserRoleNone
    Private _roleName As String
    Private _userID As Integer
    Private _userName As String

    Public Sub New()
    End Sub 'New

    Public Sub New(ByVal UserName As String)
        _userName = UserName
    End Sub 'New

    Public Sub New(ByVal UserID As Integer, ByVal UserName As String, ByVal Name As String, ByVal Role As String)
        _userID = UserID
        _userName = UserName
        _displayName = Name
        _role = Role
    End Sub 'New

    Public Property DisplayName() As String
        Get
            Return _displayName
        End Get
        Set(ByVal Value As String)
            _displayName = Value
        End Set
    End Property

    Public Property FirstName() As String
        Get
            Return _firstName
        End Get
        Set(ByVal Value As String)
            _firstName = Value
        End Set
    End Property

    Public Property LastName() As String
        Get
            Return _lastName
        End Get
        Set(ByVal Value As String)
            _lastName = Value
        End Set
    End Property

    Public Property Name() As String
        Get
            Return _displayName
        End Get
        Set(ByVal Value As String)
            _displayName = Value
        End Set
    End Property

    Public Property Password() As String
        Get
            Return _password
        End Get
        Set(ByVal Value As String)
            _password = Value
        End Set
    End Property

    Public Property Role() As String
        Get
            Return _role
        End Get
        Set(ByVal Value As String)
            _role = Value
        End Set
    End Property

    Public Property RoleName() As String
        Get
            Return _roleName
        End Get
        Set(ByVal Value As String)
            _roleName = Value
        End Set
    End Property

    Public Property UserID() As Integer
        Get
            Return _userID
        End Get
        Set(ByVal Value As Integer)
            _userID = Value
        End Set
    End Property

    Public Property UserName() As String
        Get
            Return _userName
        End Get
        Set(ByVal Value As String)
            _userName = Value
        End Set
    End Property

    '*********************************************************************
    '
    ' GetAllUsers Static Method
    ' Retrieves a list of all users.
    '
    '*********************************************************************

    Public Shared Function GetAllUsers(ByVal userID As Integer) As UsersCollection
        Return GetUsers(userID, ttuser.UserRoleAdministrator)
    End Function 'GetAllUsers

    '*********************************************************************
    '
    ' GetUsers Static Method
    ' Retrieves a list of users based on the specified userID and role.
    ' The list returned is restricted by role.  For instance, users with
    ' the role of Administrator can see all users, while users with the
    ' role of Consultant can only see themselves.
    '
    '*********************************************************************

    Public Shared Function GetUsers(ByVal userID As Integer, ByVal role As String) As UsersCollection
        Dim firstName As String = String.Empty
        Dim lastName As String = String.Empty

        Dim ds As DataSet = SqlHelper.ExecuteDataset(ConfigurationSettings.AppSettings(Global.CfgKeyConnString), "TT_ListUsers", userID, Convert.ToInt32(role))
        Dim users As New UsersCollection

        ' Separate Data into a collection of Users.
        Dim r As DataRow
        For Each r In ds.Tables(0).Rows
            Dim usr As New ttuser
            usr.UserName = r("UserName").ToString()
            usr.Role = r("RoleID").ToString()
            usr.RoleName = r("RoleName").ToString()
            usr.UserID = Convert.ToInt32(r("UserID"))
            usr.Name = GetDisplayName(usr.UserName, firstName, lastName)
            usr.FirstName = firstName
            usr.LastName = lastName
            users.Add(usr)
        Next r
        Return users
    End Function 'GetUsers

    '*********************************************************************
    '
    ' GetDisplayName static method
    ' Gets the user's first and last name from the specified TTUser account source, which is
    ' set in Web.confg.
    '
    '*********************************************************************

    Public Shared Function GetDisplayName(ByVal userName As String, ByRef firstName As String, ByRef lastName As String) As String
        Dim displayName As String = String.Empty
        Dim dbName As String = String.Empty

        ' The DirectoryHelper class will attempt to get the user's first
        ' and last name from the specified account source.
        DirectoryHelper.FindUser(userName, firstName, lastName)

        ' If the first and last name could not be retrieved, return the TTUserName.
        If firstName.Length > 0 Or lastName.Length > 0 Then
            displayName = firstName + " " + lastName
        Else
            dbName = GetDisplayNameFromDB(userName)
            If Not dbName Is String.Empty Then
                displayName = dbName
            Else
                displayName = userName
            End If
        End If
        Return displayName
    End Function 'GetDisplayName

    Public Shared Function GetDisplayNameFromDB(ByVal userName As String) As String
        Dim displayName As String = String.Empty
        displayName = CStr(SqlHelper.ExecuteScalar(ConfigurationSettings.AppSettings(Global.CfgKeyConnString), "TT_GetUserDisplayName", userName))
        Return displayName
    End Function

    '*********************************************************************
    '
    ' ListManagers Static Method
    ' Retrieves a list of users with the role of Project Manager.
    '
    '*********************************************************************

    Public Shared Function ListManagers() As UsersCollection
        Dim firstName As String = String.Empty
        Dim lastName As String = String.Empty

        Dim ds As DataSet = SqlHelper.ExecuteDataset(ConfigurationSettings.AppSettings(Global.CfgKeyConnString), CommandType.StoredProcedure, "TT_ListManagers")
        Dim managersArray As New UsersCollection

        ' Separate Data into a list of collections.
        Dim r As DataRow
        For Each r In ds.Tables(0).Rows
            Dim usr As New ttuser
            usr.UserName = r("UserName").ToString()
            usr.Role = r("RoleID").ToString()
            usr.UserID = Convert.ToInt32(r("UserID"))
            usr.Name = GetDisplayName(usr.UserName, firstName, lastName)
            usr.FirstName = firstName
            usr.LastName = lastName
            managersArray.Add(usr)
        Next r
        Return managersArray
    End Function 'ListManagers

    '*********************************************************************
    '
    ' Remove static method
    ' Removes a user from database
    '
    '*********************************************************************

    Public Shared Sub Remove(ByVal userID As Integer)
        SqlHelper.ExecuteNonQuery(ConfigurationSettings.AppSettings(Global.CfgKeyConnString), "TT_DeleteUser", userID)
    End Sub 'Remove

    '*********************************************************************
    '
    ' Load method
    ' Retrieve user information from the data access layer
    ' returns True if user information is loaded successfully, false otherwise.
    '
    '*********************************************************************

    Public Function Load() As Boolean
        ' Get the user's information from the database
        Dim ds As DataSet = SqlHelper.ExecuteDataset(ConfigurationSettings.AppSettings(Global.CfgKeyConnString), "TT_GetUserByUserName", _userName)

        If ds.Tables(0).Rows.Count < 1 Then
            Return False
        End If
        Dim dr As DataRow = ds.Tables(0).Rows(0)
        _userID = Convert.ToInt32(dr("UserID"))
        _userName = dr("UserName").ToString()
        _role = dr("RoleID").ToString()
        _password = IIf(dr("Password") Is DBNull.Value, "", dr("Password"))
        _displayName = GetDisplayName(_userName, _firstName, _lastName)

        Return True
    End Function 'Load

    '*********************************************************************
    '
    ' Save method
    ' Add or update user information in the database depending on the TT_UserID.
    ' Returns True if saved successfully, false otherwise.
    '
    '*********************************************************************

    Public Overloads Function Save() As Boolean
        Dim isUserFound As Boolean = False
        Dim isUserActiveManager As Boolean = True
        Return Save(False, isUserFound, isUserActiveManager)
    End Function 'Save

    '*********************************************************************
    '
    ' Save method
    ' Add or update user information in the database depending on the TTUserID.
    ' Returns True if saved successfully, false otherwise.
    '
    '*********************************************************************

    Public Overloads Function Save(ByVal checkUsername As Boolean, ByRef isUserFound As Boolean, ByRef isUserActiveManager As Boolean) As Boolean
        ' Determines whether object needs update or to be inserted.
        If _userID = 0 Then
            Return Insert(checkUsername, isUserFound)
        Else
            If _userID > 0 Then
                Return Update(isUserActiveManager)
            Else
                _userID = 0
                Return False
            End If
        End If
    End Function 'Save

    Private Function Insert(ByVal checkUsername As Boolean, ByRef isUserFound As Boolean) As Boolean
        Dim firstName As String = String.Empty
        Dim lastName As String = String.Empty
        isUserFound = False

        If ConfigurationSettings.AppSettings(Global.CfgKeyUserAcctSource) <> "None" Then
            ' Check to see if the user is in the NT SAM or Active Directory before inserting them
            ' into the Time Tracker database.  If a first or last name is returned, the user exists and
            ' can be inserted into the Time Tracker database.
            If checkUsername Then
                ttuser.GetDisplayName(_userName, firstName, lastName)
                isUserFound = firstName <> String.Empty Or lastName <> String.Empty
            End If
        Else
            checkUsername = False
            isUserFound = True
        End If


        If checkUsername And isUserFound Or Not checkUsername Then
            _userID = Convert.ToInt32(SqlHelper.ExecuteScalar(ConfigurationSettings.AppSettings(Global.CfgKeyConnString), "TT_AddUser", _userName, _password, _displayName, Convert.ToInt32(_role)))
            isUserFound = True
        End If
        Return _userID > 0
    End Function 'Insert

    Private Function Update(ByRef isUserActiveManger As Boolean) As Boolean
        ' if new user role is a consultant, check if user is a active manager of one or more project. if so, no update is applied
        If _role = UserRoleConsultant Then
            If Convert.ToInt32(SqlHelper.ExecuteScalar(ConfigurationSettings.AppSettings(Global.CfgKeyConnString), "TT_GetManagerProjectCount", _userID)) > 0 Then
                isUserActiveManger = True
                Return False
            Else
                isUserActiveManger = False
            End If
        End If
        Return 0 < Convert.ToInt32(SqlHelper.ExecuteScalar(ConfigurationSettings.AppSettings(Global.CfgKeyConnString), "TT_UpdateUser", _userID, _userName, _password, _displayName, Convert.ToInt32(_role)))
    End Function 'Update

    '*********************************************************************
    '
    ' UsersDB.Login() Method
    '
    ' The Login method validates a email/password pair against credentials
    ' stored in the users database.  If the email/password pair is valid,
    ' the method returns user's name.
    '
    ' Other relevant sources:
    '     + UserLogin Stored Procedure
    '
    '*********************************************************************

    Public Function Login(ByVal email As String, ByVal password As String) As String

        Dim userName As String
        userName = CStr(SqlHelper.ExecuteScalar(ConfigurationSettings.AppSettings(Global.CfgKeyConnString), "TT_UserLogin", email, password))

        If Not userName Is Nothing Or userName Is "" Then
            Return userName
        Else
            Return String.Empty
        End If

    End Function

End Class


 

本文地址:http://com.8s8s.com/it/it44206.htm