Imports CharterDotCom.CommonEntities.Library.Enumerations

<Serializable()> _
Public Class BLHTMLDocument
  Implements IHTMLDocument

    Private m_HTML As String
    Private m_ID As Integer
    Private m_KeyWords As String
    Private m_Summary As String
    Private m_Title As String

    Public Property HTML() As String Implements IHTMLDocument.HTML
        Get
            Return m_HTML
        End Get
        Set(ByVal value As String)
            m_HTML = value
        End Set
    End Property
    Public Property ID() As Integer Implements IHTMLDocument.ID
        Get
            Return m_ID
        End Get
        Set(ByVal value As Integer)
            m_ID = value
        End Set
    End Property
    Public Property KeyWords() As String Implements IHTMLDocument.KeyWords
        Get
            Return m_KeyWords
        End Get
        Set(ByVal value As String)
            m_KeyWords = value
        End Set
    End Property
    Public Property Summary() As String Implements IHTMLDocument.Summary
        Get
            Return m_Summary
        End Get
        Set(ByVal value As String)
            m_Summary = value
        End Set
    End Property
    Public Property Title() As String Implements IHTMLDocument.Title
        Get
            Return m_Title
        End Get
        Set(ByVal value As String)
            m_Title = value
        End Set
    End Property
End Class
<Serializable()> _
Public Class BLDocumentFolder
    Implements IDocumentFolder

    Private m_ID As Integer
    Private m_NumberOfChildren As Integer
    Private m_Name As String
    Private m_ParentFolderID As Integer
    Private m_ChildFolders As Dictionary(Of String, BLDocumentFolder)
    Private m_ChildDocuments As Dictionary(Of String, BLHTMLDocument)

    Public Property ID() As Integer Implements IDocumentFolder.ID
        Get
            Return m_ID
        End Get
        Set(ByVal value As Integer)
            m_ID = value
        End Set

    End Property
    Public Property NumberOfChildren() As Integer Implements IDocumentFolder.NumberOfChildren
        Get
            Return m_NumberOfChildren
        End Get
        Set(ByVal value As Integer)
            m_NumberOfChildren = value
        End Set

    End Property
    Public Property Name() As String Implements IDocumentFolder.Name
        Get
            Return m_Name
        End Get
        Set(ByVal value As String)
            m_Name = value
        End Set
    End Property
    Public Property ParentFolderID() As Integer Implements IDocumentFolder.ParentFolderID
        Get
            Return m_ParentFolderID
        End Get
        Set(ByVal value As Integer)
            m_ParentFolderID = value
        End Set

    End Property
    Public Property ChildFolders() As Dictionary(Of String, BLDocumentFolder) Implements IDocumentFolder.ChildFolders
        Get
            Return m_ChildFolders
        End Get
        Set(ByVal value As Dictionary(Of String, BLDocumentFolder))
            m_ChildFolders = value
        End Set
    End Property
    Public Property ChildDocuments() As Dictionary(Of String, BLHTMLDocument) Implements IDocumentFolder.ChildDocuments
        Get
            Return m_ChildDocuments
        End Get
        Set(ByVal value As Dictionary(Of String, BLHTMLDocument))
            m_ChildDocuments = value
        End Set
    End Property
End Class
<Serializable()> _
Public Class BLAddDocumentCommentsRequest
    Implements IAddDocumentCommentsRequest

    Private m_DocumentID As Integer
    Private m_Helpful As Boolean
    Private m_Rating As Integer
    Private m_Comments As String
    Private m_CreatedBy As String

    Public Property DocumentID() As Integer Implements IAddDocumentCommentsRequest.DocumentID
        Get
            Return Me.m_DocumentID
        End Get
        Set(ByVal value As Integer)
            Me.m_DocumentID = value
        End Set
    End Property
    Public Property Helpful() As Boolean Implements IAddDocumentCommentsRequest.Helpful
        Get
            Return Me.m_Helpful
        End Get
        Set(ByVal value As Boolean)
            Me.m_Helpful = value
        End Set
    End Property
    Public Property Rating() As Integer Implements IAddDocumentCommentsRequest.Rating
        Get
            Return Me.m_Rating
        End Get
        Set(ByVal value As Integer)
            Me.m_Rating = value
        End Set
    End Property
    Public Property Comments() As String Implements IAddDocumentCommentsRequest.Comments
        Get
            Return Me.m_Comments
        End Get
        Set(ByVal value As String)
            Me.m_Comments = value
        End Set
    End Property
    Public Property CreatedBy() As String Implements IAddDocumentCommentsRequest.CreatedBy
        Get
            Return Me.m_CreatedBy
        End Get
        Set(ByVal value As String)
            Me.m_CreatedBy = value
        End Set
    End Property
End Class



<Serializable()> _
Public Class BLSearchResultCollection
    Implements ISearchResultCollection

    Dim m_results As List(Of ISearchResult)

    Public Property results() As List(Of ISearchResult) Implements ISearchResultCollection.results
        Get
            Return m_results
        End Get
        Set(ByVal value As List(Of ISearchResult))
            m_results = value
        End Set
    End Property
    'Public Sub AddResult(ByVal m_result As SearchResult)
    '    m_results.Add(_result)
    'End Sub

    'Public Function GetEnumerator() As IEnumerator
    '    Return m_results.GetEnumerator()
    'End Function
End Class
<Serializable()> _
Public Class BLSearchResult
    Implements ISearchResult

    Private m_Score As Single
    Private m_URL As String
    Private m_MimeType As MimeType
    Private m_BinaryDocumentMime As String
    Private m_DocumentID As Integer
    Private m_ParentFolderID As Integer
    Private m_Title As String
    Private m_Summary As String
    Private m_HMTL As String
    Private m_CreateDate As Date
    Private m_resultType As SearchResultType


    Public Property URL() As String Implements ISearchResult.URL
        Get
            Return m_URL
        End Get
        Set(ByVal value As String)
            m_URL = value
        End Set
    End Property
    Public Property MimeType() As MimeType Implements ISearchResult.MimeType
        Get
            Return m_MimeType
        End Get
        Set(ByVal value As MimeType)
            m_MimeType = value
        End Set
    End Property
    Public Property BinaryDocumentMimeType() As String Implements ISearchResult.BinaryDocumentMimeType
        Get
            Return m_BinaryDocumentMime
        End Get
        Set(ByVal value As String)
            m_BinaryDocumentMime = value
        End Set
    End Property

    Public Property Score() As Single Implements ISearchResult.Score
        Get
            Return m_Score
        End Get
        Set(ByVal value As Single)
            m_Score = value
        End Set
    End Property
    Public Property DocumentID() As Integer Implements ISearchResult.DocumentID
        Get
            Return m_DocumentID
        End Get
        Set(ByVal value As Integer)
            m_DocumentID = value
        End Set
    End Property
    Public Property ParentFolderID() As Integer Implements ISearchResult.ParentFolderID
        Get
            Return m_ParentFolderID
        End Get
        Set(ByVal value As Integer)
            m_ParentFolderID = value
        End Set
    End Property
    Public Property Title() As String Implements ISearchResult.Title
        Get
            Return m_Title
        End Get
        Set(ByVal value As String)
            m_Title = value
        End Set
    End Property
    Public Property Summary() As String Implements ISearchResult.Summary
        Get
            Return m_Summary
        End Get
        Set(ByVal value As String)
            m_Summary = value
        End Set
    End Property
    Public Property HMTL() As String Implements ISearchResult.HMTL
        Get
            Return m_HMTL
        End Get
        Set(ByVal value As String)
            m_HMTL = value
        End Set
    End Property
    Public Property CreateDate() As Date Implements ISearchResult.CreateDate
        Get
            Return m_CreateDate
        End Get
        Set(ByVal value As Date)
            m_CreateDate = value
        End Set
    End Property
    Public Property resultType() As SearchResultType Implements ISearchResult.resultType
        Get
            Return m_resultType
        End Get
        Set(ByVal value As SearchResultType)
            m_resultType = value
        End Set
    End Property
End Class





Public Structure CachedFolder
  Public ID As Integer
  Public Name As String
  Public ParentID As Integer
End Structure

Public Structure CachedDocument
  Public ID As Integer
  Public title As String
  Public summary As String
  Public FolderID As Integer
End Structure

Public Structure CachedArticle
  Public Title As String
  Public HTML As String
End Structure




