This repository has been archived by the owner on Dec 29, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Documents.vb
121 lines (120 loc) · 4.13 KB
/
Documents.vb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
Imports Microsoft.VisualBasic
Imports System
Imports DevExpress.Xpo
Imports System.ComponentModel
Imports DevExpress.Data.Filtering
Imports DevExpress.Persistent.Base
Imports DevExpress.Persistent.BaseImpl
Namespace WinWebSolution.Module
<DefaultClassOptions, System.ComponentModel.DisplayName("Documents"), DefaultProperty("Name")> _
Public MustInherit Class DocumentBase
Inherits Note
Protected Const AssignedToContactCriteriaBase As String = "Active=True"
Public Sub New(ByVal session As Session)
MyBase.New(session)
End Sub
Private nameCore As String
Public Property Name() As String
Get
Return nameCore
End Get
Set(ByVal value As String)
SetPropertyValue("Name", nameCore, value)
End Set
End Property
Private createdByCore As ContactBase
<DataSourceCriteria(AssignedToContactCriteriaBase)> _
Public Property CreatedBy() As ContactBase
Get
Return createdByCore
End Get
Set(ByVal value As ContactBase)
SetPropertyValue("CreatedBy", createdByCore, value)
End Set
End Property
Private modifiedByCore As ContactBase
<DataSourceProperty("ModifiedByCustomLookupDataSource")> _
Public Property ModifiedBy() As ContactBase
Get
Return modifiedByCore
End Get
Set(ByVal value As ContactBase)
SetPropertyValue("ModifiedBy", modifiedByCore, value)
End Set
End Property
Private modifiedByCustomLookupDataSourceCore As XPCollection(Of ContactBase)
Protected ReadOnly Property ModifiedByCustomLookupDataSource() As XPCollection(Of ContactBase)
Get
If modifiedByCustomLookupDataSourceCore Is Nothing Then
modifiedByCustomLookupDataSourceCore = New XPCollection(Of ContactBase)(Session)
End If
RefreshModifiedByCustomLookupDataSource()
Return modifiedByCustomLookupDataSourceCore
End Get
End Property
Protected Overridable Sub RefreshModifiedByCustomLookupDataSource()
modifiedByCustomLookupDataSourceCore.Criteria = ModifiedByContactCriteria
End Sub
Protected MustOverride ReadOnly Property ModifiedByContactCriteria() As CriteriaOperator
End Class
Public Class DocumentType1
Inherits DocumentBase
Protected Const AssignedToContactCriteria1 As String = "ObjectType.TypeName='WinWebSolution.Module.ContactType1'"
Public Sub New(ByVal session As Session)
MyBase.New(session)
End Sub
Private documentType1PropertyCore As String
Public Property DocumentType1Property() As String
Get
Return documentType1PropertyCore
End Get
Set(ByVal value As String)
SetPropertyValue("DocumentType1Property", documentType1PropertyCore, value)
End Set
End Property
<DataSourceCriteria(AssignedToContactCriteriaBase & " AND " & AssignedToContactCriteria1)> _
Public Shadows Property CreatedBy() As ContactBase
Get
Return MyBase.CreatedBy
End Get
Set(ByVal value As ContactBase)
MyBase.CreatedBy = value
End Set
End Property
Protected Overrides ReadOnly Property ModifiedByContactCriteria() As CriteriaOperator
Get
Return CriteriaOperator.Parse(String.Format("{0} AND {1}", AssignedToContactCriteriaBase, AssignedToContactCriteria1))
End Get
End Property
End Class
Public Class DocumentType2
Inherits DocumentBase
Protected Const AssignedToContactCriteria2 As String = "ObjectType.TypeName='WinWebSolution.Module.ContactType2'"
Public Sub New(ByVal session As Session)
MyBase.New(session)
End Sub
Private documentType2PropertyCore As String
Public Property DocumentType2Property() As String
Get
Return documentType2PropertyCore
End Get
Set(ByVal value As String)
SetPropertyValue("DocumentType2Property", documentType2PropertyCore, value)
End Set
End Property
<DataSourceCriteria(AssignedToContactCriteriaBase & " AND " & AssignedToContactCriteria2)> _
Public Shadows Property CreatedBy() As ContactBase
Get
Return MyBase.CreatedBy
End Get
Set(ByVal value As ContactBase)
MyBase.CreatedBy = value
End Set
End Property
Protected Overrides ReadOnly Property ModifiedByContactCriteria() As CriteriaOperator
Get
Return CriteriaOperator.Parse(String.Format("{0} AND {1}", AssignedToContactCriteriaBase, AssignedToContactCriteria2))
End Get
End Property
End Class
End Namespace