16,554
社区成员
发帖
与我相关
我的任务
分享
Namespace LzmTW.Lotus
Public Class UserName
Inherits LzmTW.uSystem.IComClassBase(Of IName)
Friend Sub New(ByVal user As IName)
MyBase.New(user)
End Sub
End Class
End Namespace
Namespace LzmTW.Lotus
Public Class Session
Inherits LzmTW.uSystem.IComClassBase(Of ISession)
Private user As UserName
Friend Sub New(ByVal session As ISession)
MyBase.New(session)
If Me.IsValid Then
user = New UserName(Me.com.UserNameObject)
End If
End Sub
Public ReadOnly Property UserName() As UserName
Get
Return user
End Get
End Property
Public Function OpenLocalDatabase(ByVal database As String) As Database
Return Me.OpenDatabase(Nothing, database)
End Function
Public Function OpenServerDatabase(ByVal database As String) As Database
Return Me.OpenDatabase(Notes.Environment.Server, database)
End Function
Public Function OpenDatabase(ByVal server As String, ByVal database As String) As Database
Dim db As IDatabase
db = Me.com.GetDatabase(server, database, False)
Return New Database(db)
End Function
Public Function GetLocalDirectory() As DbDirectory
Return New DbDirectory(Me.com.GetDbDirectory(Nothing))
End Function
Public Function GetServerDirectory() As DbDirectory
Return New DbDirectory(Me.com.GetDbDirectory(Notes.Environment.Server))
End Function
Protected Overrides Sub ReleaseOtherComsBeforeReleaseMainCom()
If Not Me.user Is Nothing Then
Me.user.Dispose()
End If
End Sub
End Class
End Namespace
Namespace LzmTW.Lotus
Public Class DbDirectory
Inherits LzmTW.uSystem.IComClassBase(Of IDbDirectory)
Friend Sub New(ByVal directory As IDbDirectory)
MyBase.New(directory)
End Sub
Public Function GetFirstDatabase(Optional ByVal type As DB_TYPES = DB_TYPES.NOTES_DATABASE) As Database
Return New Database(Me.com.GetFirstDatabase(type))
End Function
Public Function GetNextDatabase() As Database
Return New Database(Me.com.GetNextDatabase)
End Function
Public Sub ForEachDatabase(ByVal action As Action(Of Database), Optional ByVal type As DB_TYPES = DB_TYPES.NOTES_DATABASE)
Dim db As Database = Me.GetFirstDatabase(type)
While Not db.com Is Nothing
action(db)
db = Me.GetNextDatabase
End While
End Sub
End Class
End Namespace
Namespace LzmTW.Lotus
Public Class Database
Inherits LzmTW.uSystem.IComClassBase(Of IDatabase)
Sub New(ByVal database As IDatabase)
MyBase.New(database)
End Sub
Public Function CanOpen() As Boolean
If Me.Com Is Nothing Then Return False
If Not Me.Com.IsOpen Then
Try
Me.Com.Open()
Catch ex As Exception
End Try
End If
Return Me.Com.IsOpen
End Function
End Class
End Namespace