Imports System
Imports System.ComponentModel

Imports DevExpress.Xpo
Imports DevExpress.Data.Filtering

Imports DevExpress.ExpressApp
Imports DevExpress.Persistent.Base
Imports DevExpress.Persistent.BaseImpl
Imports DevExpress.Persistent.Validation

<DefaultClassOptions()> _
<NavigationItem("ToDo")> _
Public Class MyTasks
    Inherits Task
    Public Sub New(ByVal session As Session)
        MyBase.New(session)
    End Sub
End Class
Public Enum eEventType
    eMeeting = 0 'Találkozás
    ePhoneConversation = 1 'Telefonbeszélgetés
    eEmailOut = 2 'Kimenő email
    eEMailIn = 3 'Bejövő email
    eAlert = 4 'Figyelmeztetési aktivitás
    eBusinessDirectory = 5 'Dokumentumtárhely kezelés
End Enum
<DefaultClassOptions()> _
<NavigationItem("ToDo")> _
Public Class MySchedule
    Inherits [Event]
    Private _HRPerson As HRPerson
    Private _EventType As eEventType = eEventType.eMeeting
    Private _Email_Oid As String 'Objektum string az emailek megkereséséhez
    Private _ObjectCreated As Date 'Létrehozva
    Private _UserCreated As User 'Létrehozó
    Public Sub New(ByVal session As Session)
        MyBase.New(session)
    End Sub
    Protected Overrides Sub OnSaving()
        MyBase.OnSaving()
        If Session.IsNewObject(Me) Then
            ObjectCreated = GetSQLTime(Session)
            UserCreated = Session.GetObjectByKey(Of User)(Session.GetKeyValue(SecuritySystem.CurrentUser))
        End If
    End Sub
    Property HRPerson As HRPerson
        Get
            Return _HRPerson
        End Get
        Set(value As HRPerson)
            SetPropertyValue("HRPerson", _HRPerson, value)
        End Set
    End Property
    Property EventType As eEventType
        Get
            Return _EventType
        End Get
        Set(value As eEventType)
            SetPropertyValue("EventType", _EventType, value)
        End Set
    End Property
    <Browsable(False)> _
    Property Email_Oid As String
        Get
            Return _Email_Oid
        End Get
        Set(value As String)
            SetPropertyValue("Email_Oid", _Email_Oid, value)
        End Set
    End Property
    <NonCloneable> _
    Property ObjectCreated As Date
        Get
            Return _ObjectCreated
        End Get
        Set(value As Date)
            SetPropertyValue("ObjectCreated", _ObjectCreated, value)
        End Set
    End Property
    <NonCloneable> _
    Property UserCreated As User
        Get
            Return _UserCreated
        End Get
        Set(value As User)
            SetPropertyValue("UserCreated", _UserCreated, value)
        End Set
    End Property
    <VisibleInListView(False)> _
    <Association("MySchedule-MyScheduleFileData", GetType(MySceduleFileData))> _
        ReadOnly Property MySceduleFileData As XPCollection(Of MySceduleFileData)
        Get
            Return GetCollection(Of MySceduleFileData)("MySceduleFileData")
        End Get
    End Property
End Class
