Imports System.Security.Principal

Public Class ADUser
    Public Property GUID As Guid
    Public Property samAccountName As String
    Public Property SId As SecurityIdentifier
    Public Property Surname As String
    Public Property GivenName As String
    Public Property Middlename As String
    Public Property Email As String
    Public Property Language As String

    Public CustomAttributes As List(Of CustomAttribute)

    Public Overrides Function Equals(obj As Object) As Boolean
        Return DirectCast(obj, ADUser).samAccountName
    End Function

    Public Overrides Function ToString() As String
        Return samAccountName
    End Function

    Public Class CustomAttribute
        Public Name As String
        Public Value As Object
        Public MSSQLColumn As String
        Public FirebirdSyskey As String
    End Class
End Class
