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("Outlook e-mail")> _
Public Class OutlookReminder
    Inherits BaseObject
    Private _Subject As String
    Private _Body As String
    Private _DueDate As DateTime
    Private _ReminderTimeDay As DateTime
    Private _Hours As Integer
    Private _Minutes As Integer
    Private _TaskEntryID As String

    Public Sub New(ByVal session As Session)
        MyBase.New(session)
    End Sub
    Public Overrides Sub AfterConstruction()
        MyBase.AfterConstruction()
    End Sub

    <Size(255)> _
    Property Subject As String
        Get
            Return _Subject
        End Get
        Set(value As String)
            SetPropertyValue("Subject", _Subject, value)
        End Set
    End Property
    <Size(-1)> _
    Property Body As String
        Get
            Return _Body
        End Get
        Set(value As String)
            SetPropertyValue("Body", _Body, value)
        End Set
    End Property
    Property DueDate As DateTime
        Get
            Return _DueDate
        End Get
        Set(value As DateTime)
            SetPropertyValue("DueDate", _DueDate, value)
        End Set
    End Property
    Property ReminderTimeDay As DateTime
        Get
            Return _ReminderTimeDay
        End Get
        Set(value As DateTime)
            SetPropertyValue("ReminderTimeDay", _ReminderTimeDay, value)
        End Set
    End Property
    <RuleRange("Hours", DefaultContexts.Save, 0, 24)> _
    Property Hours As Integer
        Get
            Return _Hours
        End Get
        Set(value As Integer)
            SetPropertyValue("Hours", _Hours, value)
        End Set
    End Property
    <RuleRange("Minutes", DefaultContexts.Save, 0, 60)> _
    Property Minutes As Integer
        Get
            Return _Minutes
        End Get
        Set(value As Integer)
            SetPropertyValue("Minutes", _Minutes, value)
        End Set
    End Property
    <Size(255)> _
    <Browsable(False)> _
    Property TaskEntryID As String
        Get
            Return _TaskEntryID
        End Get
        Set(value As String)
            SetPropertyValue("TaskEntryID", _TaskEntryID, value)
        End Set
    End Property
End Class
